python简单好玩的编程代码,python有哪些好玩的代码

这篇文章主要介绍了20行python代码的入门级小游戏,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

在用Python的第一天,便对它的简单性、流行性及其著名的单行代码着迷。

下面分享25个有趣且实用的Python单行代码,欢迎大家点赞、收藏,支持!

1. 交换两个变量

a = 4
b = 5   
a,b = b,a ##  
print(a,b)
#结果:5 4

2. 多变量赋值

a,b,c = 4,5.5,'Hello' ##  
print(a,b,c) #结果: 4 5.5 hello

增加一点点难度:

a,b,*c = [1,2,3,4,5]  ##   
print(a,b,c) #结果: 1 2 [3,4,5]

3. 列表偶数求和

a = [1,2,3,4,5,6]   
s = sum([num for num in a if num%2 == 0]) ##    
print(s) #结果: 12

4. 列表删除多元素

del 是 Python 中用于从列表中删除值的关键字PythonTurtle画扇形

a = [1,2,3,4,5]   
del a[1::2] ##    
print(a) #结果:[1, 3, 5]

此处需要理解L[start:end:step]: - start为开始位置,省略时为0。 - end为结束位置,省略时为列表长度; - step步长,省略时为1,如果有负号- 表示按列表自右到左的方向迭代。

5. 读取文件

最常用的方式

with open("data.txt") as f: ##   
   lst=[line.strip() for line in f]   
print(lst)

更简单、更短的方法

lst = list(open('data.txt')) ##    
print(lst)

也可以

lst = [line.strip() for line in open('data.txt')] ##   
print(lst)

6. 将数据写入文件

with open("data.txt",'a') as f:
   f.write("Python is awsome")

7. 创建列表

range()函数可以用于生成一系列整数:

lst = [i for i in range(0,10)] ##  
print(lst)

单行列表推导,快速创建:

lst = [("Hello "+i) for i in ['Karl','Abhay','Zen']] ##    
print(lst)

8. 映射列表

有时需要改变一个列表中所有元素的数据类型。比较直观的想法是使用循环:先访问列表中的所有元素,然后逐个更改元素的数据类型。这种方法中规中矩,但巧用 map一一映射,耳目一新。

list(map(int,['1','2','3'])) ##    
list(map(float,[1,2,3])) ##    
[float(i) for i in [1,2,3]] ##   

9. 快速创建集合

我们可用创建列表的方法快速创建集合:

#### 范围内所有偶数的平方
s = {x**2 for x in range(10) if x%2==0} ##    
print(s) #结果:{0, 4, 16, 36, 64}

10. FizzBuzz单行代码

有这样一个问题,需要编写一个程序来打印从 1 到 100 的数字。其中对于3的倍数,打印Fizz,对于 5 的倍数,打印Buzz

显而易见,可以使用循环和多个if-else 语句来实现。

如果使用java语言来完成,估计至少10行代码,但使用python,一行搞定!!!。

['FizzBu​​zz' if i%3==0 and i%5==0 else 'Fizz' if i%3==0 else 'Buzz' if i%5==0 else i for i in range(1,20 )] ##     

在上面的代码中,使用列表推导来运行一个从1 到 20 的循环,然后在循环的每次迭代中,检查数字: - 如果能同时被 3 和 5 整除,则用 FizzBu​​zz 替换; - 如果只能被 3 整除,我们用 Fizz 替换; - 如果只能被 5 整除,则用 Buzz 替换; - 否则仍然为原来的数字。

11. 回文数

回文是反转后看起来相同的数字或字符串。

text = 'level'
ispalindrome = text == text[::-1] ##    
print(ispalindrome) ## True

12. 空格分隔整数到列表

input_string = '1 2 3 4 5'
lis = list(map(int,input_string.split())) ##    
print(lis) ## [1, 2, 3, 4, 5]

13. Lambda 函数

lambda函数是匿名函数。一个 lambda 函数可以接受任意数量的参数,但只能是一个表达式。

下面是一个简单的lambda 函数,它接受一个数字,并返回数字的平方:

sqr = lambda x: x * x   ##    
sqr(10) ## 100

14. 检查元素是否在列表中

num = 5
res = 'present' if num in [1,2,3,4,5] else 'not present' ##    
print(res) ## present

15. 打印图案

用符号打印有趣的图案总是让我着迷。在python中,只需一行代码就可以绘制出惊人的图案:

n = 5   
print('\n'.join(' ' * i for i in range(1, n + 1))) ##    

输出为:

 
     
      
       
     

16. 计算阶乘

import math 
n = 6
print(math.factorial(n)) ## 720

17. 斐波那契数列

斐波那契数列,其中每个数字都是前面两个数字的总和。例如:最简单的斐波那契数列: 1, 1, 2, 3, 5, 8, 13。 我们可以使用列表推导创建一个范围内的斐波那契数列。

fibo = [0,1]   
[fibo.append(fibo[-1]+fibo[-2]) for i in range(5)] ##     
print(fibo) ## [0, 1, 1, 2, 3, 5, 8]

18. 生成素数

素数是一个只能被它自己和 1 整除的数。例如: 2,3,5,7。为了在一个范围内生成素数,可以使用带有过滤器filterlambda 的列表函数来生成素数。

prime = list(filter(lambda x:all(x % y != 0 for y in range(2, x)), range(2, 13))) ##      
print(prime) ## [2, 3, 5, 7, 11, 13]

19. 最大数

findmax = lambda x,y: x if x > y else y ##   
findmax(5,14) ## 14

20. 线性变换

有时需要将列表的元素缩放到 2倍或5倍。函数法实现:

def scale(lst, x):
   return [i*x for i in lst] ##   
scale([2,3,4], 2) ## [4, 6, 8]

21. 矩阵的转置

需要将所有行更改为列,反之亦然。在python中,可以使用zip函数在一行代码中转置矩阵。当然在numpy中,可以直接使用transpose函数。

a=[[1,2,3],   
   [4,5,6],   
   [7,8,9]]  
transpose = [list(i) for i in zip(*a)] ##  
print(transpose) ## [[1, 4, 7], [2, 5, 8], [3, 6, 9]]

22. 正则表达式--模式匹配

当需要知道文本中某个模式出现的次数时,在 python 中,有re库可以完成这些工作。

import re
res = re.findall('python','python is a programming language. python is python.')) ##    
print(res) ## ['python', 'python', 'python']
当然 re库不仅仅上面这么简单。 re是一个非常有用的库,帮助我们更好地处理文本。

23. 文本替换

s = "python is a programming language.python is python"
s = s.replace("python",'Java') ## 
print(s) ## "Java is a programming language.Java is Java"

24. 模拟抛硬币

当需要从给定的集合中中些随机进行选择,random.choice非常有用:

import random;
res = random.choice(['Head',"Tail"]) ##    
print(res) ## Head or Tail

25. 生成组合元组

groups = [(a, b) for a in ['a', 'b'] for b in [1, 2, 3]] ##    
print(groups) ## [('a', 1), ('a', 2), ('a', 3), ('b', 1), ('b', 2), ('b', 3)]

小节

以上就是我们分享的25个有趣且实用的pyhton单行代码,希望充实你武器库!

  • 27
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值