神奇的Python,一行代码能做哪些炫酷的事情?

可能大家在网上已经看过类似的python单行代码可以实现的功能,比如:

九九乘法表:

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

或者输出前100项斐波那契数列的值

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(100) ]])

嗯,这些都可以做到,那么下面的这些炫酷的代码,更值得一看!

单线迷宫(cmd下输入):

python -c "while 1:import random;print(random.choice('|| __'), end='')"

emmmm,这个可能比较抽象,那么试试将里面的字符换一下,比如下面这个代码

python -c "while 1:import random;print(random.choice('╱╲'), end='')"

python直播学习群542110741

这个迷宫效果还可以吧!

猜数字

好多的教程中都有这个小案例,那么你用了几行呢?试试下面这个

python -c "import random;n=random.randint(1,99);[(lambda a:print('Y' if a==n else 'H' if a>n else 'L'))(int(input())) for i in range(6)]"

是的,你没有看错,一行代码可以实现这个功能!

100英尺高尔夫

参照了“愤怒的小鸟”,目标是让高尔夫刚好落到100英尺处,不多不少!

import math as m;a,v=eval(input());[print('%03d'%x+' '*m.floor(0.5+x*m.tan(a)-x*x/(v*m.cos(a)))+'o') for x in range(102)]

需要输入2个参数,也就是高尔夫的角度和速度!

最后

这些代码使用的大多数技术应该看起来很熟悉:

列表解析,lambda表达式和随机整数,通过几个函数的组合,可以写出很酷的代码!

希望大家能在这些实例中扩充思路,写出更棒的代码!加油!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • http://python.jobbole.com/85231/ 关于专业技能写完项目接着写写一名3年工作经验的J...
    燕京博士阅读 7,638评论 1 118
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,458评论 0 10
  • 用于python面试整理,主要来源于http://www.cnblogs.com/skiler/p/6952707...
    十里江城阅读 2,395评论 0 13
  • 食材:肉,茄子,辣椒粉,孜然粉,蒜,葱,姜 调料:蚝油,油,盐 1)肉洗净碾成肉未 2)茄子洗净后切成5到6公分长...
    蕴含精华阅读 292评论 0 0
  • 我的弟弟白白胖胖的,眼睛眯成了一条缝,谁见了都想在他的脸上捏一把,大家都觉得他挺可爱。其实,真正的他可不像其...
    雅姗ILY阅读 280评论 0 1