导航菜单
首页 » 无极荣耀登陆 » 正文

天子-一行Python代码竟能够完成这些可赞的功用

Python一向倡议Beautiful、Explicit、Simple等准则,接下来要介绍的一行Python能完成哪些好玩的功用,或许和Explicit准则相违反。

假如你有其他这方面的小比如,也欢迎谈论,我会加到文章中,文章或许会长时间更新。

1. 一行代码发动一个Web服务

python -m SimpleHTTPServer 8080 # python2

python3 -m http.server 8080 # python3

2. 一行代码完成变量值交换

a, b = 1, 2; a, b = b, a

3. 一行代码处理FizzBuzz问题

FizzBuzz问题:打印数字1到100, 3的倍数打印“Fizz”, 5的倍数打印“Buzz”, 既是3又是5的倍数的打印“FizzBuzz”

for x in range(1, 101): print("fizz"[x % 3 * 4:]+"buzz"[x % 5 * 4:] or x)

4. 一行代码输出特定字符”Love”拼成的心形

print( .join([ .join([( Love [(x-y) % len( Love )] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0 else ) for x in range(-30, 30)]) for y in range(30, -30, -1)]))

5. 一行代码输出Mandelbrot图画

Mandelbrot图画:图画中的每个方位都对应于公式N=天子-一行Python代码竟能够完成这些可赞的功用x+y*i中的一个复数

print( .join([ .join([ * if abs((lambda a: lambda z, c, n: a(a, z, c, n))(lambda s, z, c, n: z if n == 0 else s(s, z*z+c, c, n-1))(0, 0.02*x+0.05j*y, 40)) < 2 else for x in range(-80, 20)]) for y in range(-20, 20)]))

6. 一行代码打印九九乘法表

print( .join([ .join([ %s*%s=%-2s % (y, x, x*y) for y in range(1, x+1)]) for x in range(1, 10)]))

7. 一行天子-一行Python代码竟能够完成这些可赞的功用代码计算出1-100之间的素数(两个版别)

print( .join([str(item) for item in filter(lam天子-一行Python代码竟能够完成这些可赞的功用bda x: not [x % i for i in range(2, x) if x % i == 0], range(2, 101))]))

print( .join([str(item) for item in filter(lambda x: all(map(lambda p: x % p != 0, range(2, x))), range(2, 101))]))

8. 一行代码输出斐波那契数列

print([x[0] for x in [(a[i][0], a.append([a[i][1], a[i][0]+a[i][1]])) for a in ([[1, 1]], ) for i in range(30)]])

9. 一行代码完成快排算法

qsort = lambda arr: len(arr) > 1 and qsort(list(filter(lambda x: x <= arr[0], arr[1:]))) + arr[0:1] + qsort(list(filter(lambda x: x > arr[0], arr[1:]))) or arr

10. 一行代码处理八皇后问题

[__import__( sys ).stdout.write( .join( . * i + Q + . * (8-i-1) for i in vec) + "========") for vec in __import__( itertools ).permutations(range(8)) if 8 == len(set(vec[i]+i for i in range(8))) == len(set(vec[i]-i for i in range(8)))]

11. 一行代码完成数组的flatten功用: 将多维数组转化为一维

flatten = lambda x: [y for l in x for y in flatten(l)] if isinstance(x, list) else [x]

12. 一行代码完成list, 有点相似与上个功用的反功用

array = lambda x: [x[i:i+3] f域名升级or i in range(0, len(x), 3)]

13. 一行代码完成求解2的1000次方的各位数之和

print(sum(map(int, str(2**1000))))

最终,小编给我们共享一份Python 学习从入门到通晓的全套学习材料

转发此文,重视并私信小编“学习”立刻免费收取

二维码