神奇的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 -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表达式和随机整数,通过几个函数的组合,可以写出很酷的代码!

原文地址:https://www.cnblogs.com/qun542110741/p/9218724.html

时间: 2024-08-02 01:15:22

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

【python】10分钟教你用python一行代码搞点大新闻

准备 相信各位对python的语言简洁已经深有领会了.那么,今天就带大家一探究竟.看看一行python代码究竟能干些什么大新闻.赶紧抄起手中的家伙,跟我来试试吧. 首先你得先在命令行进入python.像下面一样. 1> python2Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win323Type "help", "copyright&q

Python一行代码

Python一行代码画出爱心 print'\n'.join([''.join([('SunShine-'[(x-y)%9]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)])

用python一行代码实现1—100之和,你会吗

一行代码实现1—100之和 print(sum(range(1,101))) 程序运行结果: 5050 python2和python3的range(100)的区别 python2中的range返回的是一个列表 python3中的range返回的是一个迭代值 for i in range(1,10)在python2和python3中都可以使用,但是要生成1-10的列表,就需要用list(range(1,10)) python内建数据类型有哪些 整型--int   布尔型--bool   字符串--

Python 一行代码

Python语法十分便捷,通过几个简单例子了解其趣味 1.Fizz.Buzz问题为: 打印数字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

Python一行代码实现九九乘法表

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

python老司机带你玩玩炫酷的3D渲染,酷毙了!

自从学会了turtle模块后,画了不少简笔画.像小猪佩奇.哆啦A梦等等,但是这些依然不能让身边人感受到python的强大,依然是每次装逼必被打脸.就像你用turtle画了这个 别人拿出了这个 怎么办?面对函数库如此丰富的python,一库不行,我们还有另一库.那就是pyray库. pyray库介绍 pyray库创建于2018年1月,虽然目前渲染3D场景的最佳工具仍然是POV ray.但是为什么我们不能在Python中使用这种功能(渲染2D.3D和更高维的对象和场景),这是一种可能已经被广泛使用的

[php入门] 1、从安装开发环境环境到(庄B)做个炫酷的登陆应用

1.前言 本文适合想了解下web开发入门的小白~ 最近在根据一个网上课程学习php,课程内说道: php环境自己搭比较麻烦,可以用wamp集成开发环境,一键安装即可. 2.安装集成开发环境 下面是wamp下载路径,我们选择低版本的2.5~如果用在①中下载不了,可以点击②中找到2.5版本的试着下载,如果都下载不了,可以直接下载我分享的一个:http://pan.baidu.com/s/1i5dfx8x 3.测试是否安装成功 安装好之后在桌面右下角会有:(绿色表示online,黄色表示offline

神奇的Grails:自关联的树状Domain一行代码获取所有子节点

见证Groovy/Grails的神奇时刻到了,你相信吗?用一行代码就可以获取树状结构中某节点下的所有全部子节点!注意:这个树是无深度限制的.无深度限制这点很重要,如果有限深度的树,那我们也很容易通过层级编码用“Like 001%”方式实现(维护编码也是一个有挑战性活).我们以一个非常常见的“类别”Domain为例,大类分小类,小类再细分,典型的树形结构,看看Grails是如何以简洁的语法表达的,体验Groovy语法的神奇! class Group{ String name static hasM

Python人工智能之图片识别,Python3一行代码实现图片文字识别

1.Python人工智能之图片识别,Python3一行代码实现图片文字识别 2.tesseract-ocr安装包和中文语言包 注意: 原文地址:https://www.cnblogs.com/jycjy/p/8799295.html