1. 程式人生 > >有趣的程式碼:一行Python程式碼能幹嘛?

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

參考連結