有趣的程式碼:一行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程式碼,歡迎在留言區與大家分享出來。