美文网首页
我是Python小玩家,一行代码能做哪些炫酷的事情?

我是Python小玩家,一行代码能做哪些炫酷的事情?

作者: b8a7c7695f14 | 来源:发表于2020-04-08 10:50 被阅读0次

    python之禅

    image

    一行代码启动一个Web服务

    python -m SimpleHTTPServer 8080
    python3 -m http.server 8080
    

    一行代码实现变量值互换

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

    一行代码打印迷宫

    print(''.join(__import__('random').choice('\u2571\u2572') for i in range(50*24)))
    
    image

    解决FizzBuzz问题

    打印数字1到100, 3的倍数打印“Fizz”来替换这个数, 5的倍数打印“Buzz”, 既是3又是5的倍数的打印“FizzBuzz”

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

    !](https://img-blog.csdnimg.cn/20190601154910995.png)

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

    print('\n'.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)]))
    

    ![](https://img-blog.csdnimg.cn/20190601155043548.png

    一行代码输出Mandelbrot图像:

    Mandelbrot图像中的每个位置都对应于公式N=x+y*i中的一个复数

    print('\n'.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)]))
    
    image

    一行代码打印九九乘法表

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

    一行代码计算出1-100之间的素数

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

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

    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)]])
    
    image

    一行代码解决八皇后问题

    [__import__('sys').stdout.write('\n'.join('.' * i + 'Q' + '.' * (8-i-1) for i in vec) + "\n========\n") 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)))]
    
    image

    一行代码实现数组的flatten功能

    将多维数组转化为一维

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

    一行代码实现快排算法

    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
    
    image

    一行代码实现求解2的1000次方的各位数之和

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

    一行代码自动看漫画

    import antigravity
    
    image

    相关文章

      网友评论

          本文标题:我是Python小玩家,一行代码能做哪些炫酷的事情?

          本文链接:https://www.haomeiwen.com/subject/bnvzphtx.html