有趣的代码:一行Python代码能干嘛?

前言

python有很多优雅有趣的代码写法,同时还很简短,以至于当我刚开始接触这个编程语言的时候,就爱不释手。而前几天的编程语言榜单中python也超越了java成为了第一,挺替python开心的。

python到底有多有趣呢?一行代码告诉你!


正文

1)画爱心

print('\n'.join([''.join([('WangGangdan'[(x-y)%10]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(15,-15,-1)]))

打印效果:
这里写图片描述

这个可谓是表白神器,每逢过节都可以拿出来炫耀下,兄dei,懂我意思吧?

2)画一个Mandelbrot

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==0else 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)])

打印效果:
这里写图片描述

3)打印99乘法表

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

打印效果:
这里写图片描述

4)一行代码实现快速排序

qs = lambda xs : ( (len(xs) <= 1 and [xs]) or [ qs( [x for x in xs[1:] if x < xs[0]] ) + [xs[0]] + qs( [x for x in xs[1:] if x >= xs[0]] ) ] )[0]

这里写图片描述

5)可以让两个变量交换值

a, b = b, a

这个应该是简单的。也是pythonic风格的。

6)打印python之禅

import this

打印效果:
这里写图片描述

这个估计有很多人不知道,你们常说的 “人生苦短,我用python” 这句话就是出自这里的。python的美常常就体现在上面。好的python程序员也应该去遵守它。

7)看漫画

import antigravity

这里写图片描述

漫画大致翻译:

上图:

“你在飞!怎么做到的?”

“Python!”

下左:

“我昨晚学习了 Python,一切都是那么简单”

“运行 HELLO WORLD 只需要 print “Hello World!””

下中:
“我还是不明白……动态类型,还是空格?”

“来加入我们吧,编程又再次变得有趣起来了,Python 是一个全新的世界”

“但你是怎么飞起来的?”

下右:

“我只是输入了 import antigravity”

“就这样?”

“我还对药品柜中的所有东西进行了采样比较”(暗指他对比过多种编程语言,但还是觉得 Python 最简单)

“但我想这就是 Python.”

8)开启web

python -m http.server 8080

这里写图片描述

9)打印迷官

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

打印效果:
这里写图片描述

10)打印 ”hello world“

print('hello world')

这个相信大家都打过吧(皮一下,打过的在下面点赞看看,统计下有多少人。

暂时就这么多,如果你发现更多好玩的python代码,欢迎在留言区与大家分享出来。


参考链接

https://www.zhihu.com/question/37046157
原创: sergiojune

  • 98
    点赞
  • 238
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值