一行python能做什么!
主要收集了平常遇到的代码和网上的简单题目,然后尝试将代码压缩到一行,仅仅是娱乐一下~~~
−−−−−(1)−−−−−−−−−−−(1)−−−−−−
用一行python写出一个嵌套的字符串。
def plat(ch,n):return''if ~n else ' '*(n-1)+ ch+ch[::-1][1:]+'\n'+plat(ch+chr(ord(ch[-1])+1),n-1)
- 1
结果如图:
上面这个返回所需要的字符串,还可以这样写,连输出都省了:
def plat(ch,n): '' if ~n else (print(' '*(n-1)+ ch+ch[::-1][1:]),plat(ch+chr(ord(ch[-1])+1),n-1))
- 1
- 2
−−−−−−−(2)−−−−−−−−−−−−(2)−−−−−:一行python解决n中取k问题:
def ck(a,r,k,now = 0,cur = 0): (now==k and print(r[:k])==None) or [ck(a,r[:now]+[a[i]]+r[now+1:],k,now+1,i+1) for i in range(cur,len(a)-k+now+1)]
- 1
−−−−(3)−−−−一行代码画出爱心曲线−−−−(3)−−−−一行代码画出爱心曲线
利用心型曲线的公式
规定一个正方形,然后可以确定每一个位置是否该画出字符。
print ('\n'.join([''.join(['pybbyp'[(x-y)%6] if (x*0.04)**2+((y*0.1) - ((x*0.04)**2)**(1/3))**2 < 1 else ' ' for x in range(-30,30,1) ]) for y in range(15,-15,-1)]))
- 1
−−−[4]−−−构建一个树状字典−−−−−[4]−−−构建一个树状字典−−
当我们不知道字典需要几层的时候,我们可以这样实现:
f = lambda:defaultdict(f)
- 1
这样tree = f()就可以实现任意层次的嵌套。
PS:思考
tree = defaultdict(tree) 为什么不对.
−−−[5]−−fizzbuzz问题−−−[5]−−fizzbuzz问题
函数实现
def fizz(n=1):n== 101 or (print([n,'fizz','buzz','fizzbuzz'][(n%5 == 0)*2+(n%3 == 0)]),fizz(n+1))
- 1
循环实现:
for x in range(1, 101): print("fizz"[x % 3 * 4:]+"buzz"[x % 5 * 4:] or x)
- 1
−−−(6)−−−一行打印乘法表−−−−−(6)−−−一行打印乘法表−−
#method 1
def f(n):[ ([print('{}*{}={}'.format(x,y,x*y),end = ' ')for x in range(1,y+1)])for y in range(1,n+1)]
#method 2
def f1(n,k=1): k==n+1 or (print(' '.join('{}*{}={}'.format(x,k,x*k) for x in range(1,k+1))),f1(n,k+1))
- 1
- 2
- 3
- 4
−−−(7)−−−一行实现一个迷宫−−−(7)−−−一行实现一个迷宫
for i in range(10**3):print(random.choice('|| __'), end='')
- 1
−−−−−(8)画一个递归的三角图形−−−−−−−−−−−−(8)画一个递归的三角图形−−−−−−−
这里我暂时没有压缩成功….有兴趣的可以试一试
def rec_plot(x,y,width,height,n):
dx = width>>1
dy = height>>1
if n>1:
rec_plot(x,y,dx,dy,n-1)
rec_plot(x-(dx>>1),y+dy,dx,dy,n-1)
rec_plot(x+(dx>>1),y+dy,dx,dy,n-1)
else:
for _x,_y in zip(range(x,x-dx-1,-1),range(y,y+height+1,1)):
points[(_x,_y)] = '*'
for _x,_y in zip(range(x,x+dx+1),range(y,y+height+1,1)):
points[(_x,_y)] = '*'
for _x in range(x-dx,x+dx):
points[(_x,y+height)] = '*'
rec_plot(40,0,32,16,3)
for y in range(0,80):
for x in range(0,80):
print(points[(x,y)],end='')
print('')
一行python能做什么!的更多相关文章
- 一行 Python 实现并行化 -- 日常多线程操作的新思路
春节坐在回家的火车上百无聊赖,偶然看到 Parallelism in one line 这篇在 Hacker News 和 reddit 上都评论过百的文章,顺手译出,enjoy:-) http:// ...
- 教你用一行Python代码实现并行(转)
教你用一行Python代码实现并行 本文教你通过一行Python实现并行化. Python在程序并行化方面多少有些声名狼藉.撇开技术上的问题,例如线程的实现和GIL,我觉得错误的教学指导才是主要问题. ...
- 一行 Python
很多人学Python,除了它功能强大,简单易学外,代码行数少.语法简洁也是很吸引人的地方.那么,Python的语法到底有多简洁呢?一行Python代码,能实现什么丧心病狂的功能呢? 1.一行代码,实现 ...
- 有趣的一行 Python 代码
https://mp.weixin.qq.com/s/o9rm4tKsJeEWyqQDgVEQiQ https://mp.weixin.qq.com/s/G5F_GaUGI0w-kugOZX145g ...
- 忘带U盘了??别急!一行python代码即可搞定文件传输
近日发现了python一个很有趣的功能,今天在这里给大伙儿做一下分享 需求前提 1.想要拷贝电脑的文件到另一台电脑但是又没有U盘2.手机上想获取到存储在电脑的文件3.忘带U盘- 您也太丢三落四了吧,但 ...
- Python来做应用题及思路
Python来做应用题及思路 最近找工作头疼没事就开始琢磨python解应用题应该可以,顺便还可以整理下思路当然下面的解法只是个人理解,也欢迎大佬们给意见或者指点更好的解决办法等于优化代码了嘛,也欢迎 ...
- 一行python代码实现树结构
树结构是一种抽象数据类型,在计算机科学领域有着非常广泛的应用.一颗树可以简单的表示为根, 左子树, 右子树. 而左子树和右子树又可以有自己的子树.这似乎是一种比较复杂的数据结构,那么真的能像我们在标题 ...
- 可以用 Python 编程语言做哪些神奇好玩的事情?
作者:造数科技链接:https://www.zhihu.com/question/21395276/answer/219747752 使用Python绘图 我们先来看看,能画出哪样的图 更强大的是,每 ...
- Python能做些什么?
前言 网上搜集到的一些python能做什么的资料,利用python能做很多事情,我们可以在多门课程中都使用Python作为我们的教学语言.比如,计算机网络.数据结构.人工智能.图像处理.软件分析与测试 ...
随机推荐
- 动态链接 - dll和so文件区别与构成
动态链接,在可执行文件装载时或运行时,由操作系统的装载程序加载库.大多数操作系统将解析外部引用(比如库)作为加载过程的一部分.在这些系统上,可执行文件包含一个叫做import directory的 ...
- codeforces Gym 100735 D、E、G、H、I
http://codeforces.com/gym/100735 D题 直接暴力枚举 感觉这道题数据有点问题 为什么要先排下序才能过?不懂.. #include <stdio.h> #in ...
- 动态演示冒泡排序java
动态演示冒泡排序java //冒泡排序是一种简单的交换排序,基本思路,从数列左边开始扫描元素,在扫描过程中依次对相邻元素进行比较,将较大元素后移. public class NumberSort { ...
- HTTPS 是如何保证安全的?
每当我们讨论到信息安全的时候,我们最长接触到的信息加密传输的方式莫过于 HTTPS 了,当我们浏览器地址栏闪现出绿色时,就代表着这个网站支持 HTTPS 的加密信息传输方式,并且你与它的连接确实被加密 ...
- JSP中HTTP状态码
以下内容引用自http://wiki.jikexueyuan.com/project/jsp/http-status-codes.html: HTTP请求格式和HTTP响应消息的格式一样,都有以下结构 ...
- JDBC的异常
以下内容引用自http://wiki.jikexueyuan.com/project/jdbc/exceptions.html: 异常处理可以允许处理一个异常情况,例如可控方式的程序定义错误. 当异常 ...
- HDU 1051 Wooden Sticks 贪心题解
本题一看就知道是最长不减序列了,一想就以为是使用dp攻克了. 只是那是个错误的思路. 我就动了半天没动出来.然后看了看别人是能够使用dp的,只是那个比較难证明其正确性,而其速度也不快.故此并非非常好的 ...
- Spring MVC不要在@Service bean中保存状态
先看这么一段代码: @Service public class AccountService { private String message; public void foo1() { if (tr ...
- C# .Net 多进程同步 通信 共享内存 内存映射文件 Memory Mapped 转 VC中进程与进程之间共享内存 .net环境下跨进程、高频率读写数据 使用C#开发Android应用之WebApp 分布式事务之消息补偿解决方案
C# .Net 多进程同步 通信 共享内存 内存映射文件 Memory Mapped 转 节点通信存在两种模型:共享内存(Shared memory)和消息传递(Messages passing). ...
- 免安装版TOMCAT配置及问题解决方法
前言 本文将介绍下面几点内容: 1.Tomcat的配置过程 2.启动startup过程中遇到的问题的解决 3.假设遇到本文中没有提到的问题怎样解决 配置 计算机右击->属性->高级系统设置 ...