主要收集了平常遇到的代码和网上的简单题目,然后尝试将代码压缩到一行,仅仅是娱乐一下~~~

−−−−−(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能做什么!的更多相关文章

  1. 一行 Python 实现并行化 -- 日常多线程操作的新思路

    春节坐在回家的火车上百无聊赖,偶然看到 Parallelism in one line 这篇在 Hacker News 和 reddit 上都评论过百的文章,顺手译出,enjoy:-) http:// ...

  2. 教你用一行Python代码实现并行(转)

    教你用一行Python代码实现并行 本文教你通过一行Python实现并行化. Python在程序并行化方面多少有些声名狼藉.撇开技术上的问题,例如线程的实现和GIL,我觉得错误的教学指导才是主要问题. ...

  3. 一行 Python

    很多人学Python,除了它功能强大,简单易学外,代码行数少.语法简洁也是很吸引人的地方.那么,Python的语法到底有多简洁呢?一行Python代码,能实现什么丧心病狂的功能呢? 1.一行代码,实现 ...

  4. 有趣的一行 Python 代码

    https://mp.weixin.qq.com/s/o9rm4tKsJeEWyqQDgVEQiQ https://mp.weixin.qq.com/s/G5F_GaUGI0w-kugOZX145g ...

  5. 忘带U盘了??别急!一行python代码即可搞定文件传输

    近日发现了python一个很有趣的功能,今天在这里给大伙儿做一下分享 需求前提 1.想要拷贝电脑的文件到另一台电脑但是又没有U盘2.手机上想获取到存储在电脑的文件3.忘带U盘- 您也太丢三落四了吧,但 ...

  6. Python来做应用题及思路

    Python来做应用题及思路 最近找工作头疼没事就开始琢磨python解应用题应该可以,顺便还可以整理下思路当然下面的解法只是个人理解,也欢迎大佬们给意见或者指点更好的解决办法等于优化代码了嘛,也欢迎 ...

  7. 一行python代码实现树结构

    树结构是一种抽象数据类型,在计算机科学领域有着非常广泛的应用.一颗树可以简单的表示为根, 左子树, 右子树. 而左子树和右子树又可以有自己的子树.这似乎是一种比较复杂的数据结构,那么真的能像我们在标题 ...

  8. 可以用 Python 编程语言做哪些神奇好玩的事情?

    作者:造数科技链接:https://www.zhihu.com/question/21395276/answer/219747752 使用Python绘图 我们先来看看,能画出哪样的图 更强大的是,每 ...

  9. Python能做些什么?

    前言 网上搜集到的一些python能做什么的资料,利用python能做很多事情,我们可以在多门课程中都使用Python作为我们的教学语言.比如,计算机网络.数据结构.人工智能.图像处理.软件分析与测试 ...

随机推荐

  1. iOS点击cell时,控件背景色消失的解决方法

    同时调用一下两个方法: - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected ...

  2. [bzoj3991][SDOI2015]寻宝游戏_树链的并_倍增lca_平衡树set

    寻宝游戏 bzoj-3991 SDOI-2015 题目大意:题目链接. 注释:略. 想法:我们发现如果给定了一些点有宝物的话那么答案就是树链的并. 树链的并的求法就是把所有点按照$dfs$序排序然后相 ...

  3. chdoj38 K-partite Graph(补图)

    题意: 若一个无向图G的节点能够分成k(k>=2)个非空集合,对于每对点,当且仅当他们属于不同的集合,存在一条边(ui,vi)连接他们.那么这个图就是一个完全k分图. 现在给出一个n点,m条边的 ...

  4. LOAP& its implimenlation

    LDAP 概念 LDAP的英文全称是Lightweight Directory Access Protocol,简称为LDAP,LDAP是轻量目录访问协议,LDAP是轻量目录访问协议.简单的说来,LD ...

  5. JAVA分布式架构

  6. hbase definitive guide 笔记

    ext3 file system 优化 ext3 在用在hbase上可以做如下优化: 1. mount的时候加上noatime选项.这可以减少管理开销 2. 用命令tune2fs -m 0 /dev/ ...

  7. PopupMenu的演示样例

    弹出菜单是停靠在一个View上的一个模式菜单. 假设View对象下方有空间,那么弹出菜单将显示在停靠对象的下方,否则会显示在上方. 这是很实用的: 源代码地址:http://download.csdn ...

  8. 基于Wi-Fi的HID注射器,利用WHID攻击实验

    WHID代表基于 Wi-Fi 的 HID 注射器,即对 HID 攻击进行无线化攻击的一种注入工具. 实验攻击原理如下图: 攻击者使用ESP8266作为AP,在自己的电脑创建客户端连接AP.在客户端键入 ...

  9. 关于 TCP 并发连接的几个思考题与试验

    http://blog.csdn.net/solstice/article/details/6579232

  10. 多路转接模型之poll

    poll系统调用和select类似.也是在指定时间内轮询一定数量的文件描写叙述符,以測试当中是否有就绪者.poll和select效率差点儿相同,仅仅是其使用接口相对简单些,poll不在局限于1024个 ...