<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一行 Python 代碼能實(shí)現(xiàn)什么奇葩功能?

          共 3125字,需瀏覽 7分鐘

           ·

          2020-04-09 23:21



          閱讀本文大概需要 3 分鐘。


          如果只允許你寫一行代碼,你能夠?qū)崿F(xiàn)什么樣的功能?今天我們來看看這 16 行喪(gan)心(de)病(piao)狂(liang)代碼。

          輸出 Mandelbrot 圖像

          mandelbrot 圖像中文名叫曼德勃羅圖像。Mandelbrot 圖像中的每個(gè)位置都對(duì)應(yīng)于公式 N=x+y*i 中的一個(gè)復(fù)數(shù)。其實(shí)數(shù)部分是 x,虛數(shù)部分是 y,i 是 -1 的平方根。圖像中各個(gè)位置的 x 和 y 坐標(biāo)對(duì)應(yīng)于虛數(shù)的 x 和 y 部分。百度百科給出的圖形是這樣的。

          239fdcc7943cb7269b6af6403b9ec54e.webp

          看不懂?沒關(guān)系,我們直接來看效果。(左右滑動(dòng)查看所有代碼)

          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?==?0?else?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)]))


          e199d08f2e4cbfbb8350aef2c9cea2f9.webp

          九九乘法表

          還記得我們熟記于心的九九乘法表嗎?來,我們來鞏固下,我們用一行代碼打印出來。(左右滑動(dòng)查看所有代碼)

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


          882efba442ca59d339dae91087af14a3.webp

          一行打印心型圖案

          不會(huì)表白?一行代碼告訴你!

          print('\n'.join([''.join([('AndyLove'[(x-y)%8]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)]))


          ce7adc23a6698a4ad2931954b31240fb.webp


          美麗的螺旋

          你覺得上面的心型圖案不夠浪漫?那么試試下面這個(gè)美麗的螺旋?在 Python 編譯器中輸入下面的代碼。(左右滑動(dòng)查看所有代碼)

          exec("""\nfrom?turtle?import?*\nfor?i?in?range(500):?\n????forward(i)\n????left(91)\n""")


          看下執(zhí)行過程中的部分動(dòng)態(tài)圖。


          48c10c8fc830e70203a37ce618c6f2d8.webp

          再截圖一張大圖看下,是不是很漂亮、很炫酷!

          2d4b5bcfa72a98c3deee8d698e15b36b.webp

          這個(gè)畫圖庫用的是 turtle 庫。

          計(jì)算出 1-100 之間的素?cái)?shù)

          素?cái)?shù)又稱質(zhì)數(shù)。一個(gè)大于 1 的自然數(shù),除了 1 和它自身外,不能整除其他自然數(shù)的數(shù)叫做素?cái)?shù);

          print('?'.join([str(item)?for?item?in?filter(lambda?x:?not?[x?%?i?for?i?in?range(2,?x)?if?x?%?i?==?0],?range(2,?101))]))

          結(jié)果是:

          7bbb3913387d791ecb567337e2e0d5de.webp

          一行代碼輸出斐波那契數(shù)列

          斐波那契數(shù)列(Fibonacci sequence),又稱黃金分割數(shù)列、因數(shù)學(xué)家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為『兔子數(shù)列』,這個(gè)數(shù)列從第 3 項(xiàng)開始,每一項(xiàng)都等于前兩項(xiàng)之和。

          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(30)]])


          看下執(zhí)行結(jié)果:

          bae6e080372b83c5745cbab657c16ac2.webp

          一行代碼實(shí)現(xiàn)快排算法

          快速排序是一種經(jīng)典而高效的排序算法。

          quickSort?=?lambda?array:?array?if?len(array)?<=?1?else?quickSort([item?for?item?in?array[1:]?if?item?<=?array[0]])?+?[array[0]]?+?quickSort([item?for?item?in?array[1:]?if?item?>?array[0]])
          array?=?[9,?11,?88,?32,?8]
          print(quickSort(array))

          打印 Python 之禪

          你們知道 Python 之禪么?知道『人生苦短,我用 Python』這句經(jīng)典的出處么?用下面一行代碼就可以打印 Python 之禪。(左右滑動(dòng)查看所有代碼)

          >>>?import?this
          The?Zen?of?Python,?by?Tim?Peters

          Beautiful?is?better?than?ugly.
          Explicit?is?better?than?implicit.
          Simple?is?better?than?complex.
          Complex?is?better?than?complicated.
          Flat?is?better?than?nested.
          Sparse?is?better?than?dense.
          Readability?counts.
          Special?cases?aren't?special?enough?to?break?the?rules.
          Although?practicality?beats?purity.
          Errors?should?never?pass?silently.
          Unless?explicitly?silenced.
          In?the?face?of?ambiguity,?refuse?the?temptation?to?guess.
          There?should?be?one--?and?preferably?only?one?--obvious?way?to?do?it.
          Although?that?way?may?not?be?obvious?at?first?unless?you're?Dutch.
          Now?is?better?than?never.
          Although?never?is?often?better?than?*right*?now.
          If?the?implementation?is?hard?to?explain,?it's?a?bad?idea.
          If?the?implementation?is?easy?to?explain,?it?may?be?a?good?idea.
          Namespaces?are?one?honking?great?idea?--?let's?do?more?of?those!

          給大家一個(gè)參考的翻譯:

          優(yōu)美勝于丑陋。
          顯式勝于隱式。
          簡單勝于復(fù)雜。
          復(fù)雜勝于難懂。
          扁平勝于嵌套。
          稀疏勝于緊密。
          可讀性應(yīng)當(dāng)被重視。
          盡管實(shí)用性會(huì)打敗純粹性,特例也不能凌駕于規(guī)則之上。
          不要忽略任何錯(cuò)誤,除非你確認(rèn)要這么做
          面對(duì)不明確的定義,拒絕猜測(cè)的誘惑。
          找到一種最好唯一的一種方法去解決問題。
          雖然一開始這種方法并不是顯而易見,因?yàn)槟悴皇?Python 之父。
          做好過不做,但沒有思考的做還不如不做
          如果實(shí)現(xiàn)很難說明,那它是個(gè)壞想法。
          如果實(shí)現(xiàn)容易解釋,那它有可能是個(gè)好想法。
          命名空間是個(gè)絕妙的想法,請(qǐng)多加利用。

          看漫畫

          導(dǎo)入一個(gè)包就能看漫畫,執(zhí)行代碼后系統(tǒng)會(huì)自動(dòng)打開漫畫的頁面。

          import?antigravity


          63745e1525ad5486b4c78b6166c7b13e.webp

          給大家一個(gè)參考的翻譯:

          上圖:
          “你在飛!怎么做到的?”
          “Python!”

          下左:

          “我昨晚學(xué)習(xí)了 Python,一切都是那么簡單”

          “運(yùn)行 HELLO WORLD 只需要 print “Hello World!””

          下中:
          “我還是不明白……動(dòng)態(tài)類型,還是空格?”

          “來加入我們吧,編程又再次變得有趣起來了,Python 是一個(gè)全新的世界”

          “但你是怎么飛起來的?”

          下右:

          “我只是輸入了 import antigravity”

          “就這樣?”

          “我還對(duì)藥品柜中的所有東西進(jìn)行了采樣比較”(暗指他對(duì)比過多種編程語言,但還是覺得 Python 最簡單)

          “但我想這就是 Python.”

          單線迷宮

          cmd 命令下輸入下列代碼實(shí)現(xiàn)單線迷宮。

          python?-c?"while?1:import?random;print(random.choice('||?__'),?end='')"

          3191631e4ed5bfb418a0cb42c5c84b40.webp


          一行代碼開啟 web 服務(wù)

          使用此命令,建立一個(gè)內(nèi)網(wǎng)可以快速訪問的 WEB 服務(wù)。

          python?-m?http.server?8080

          輸入 http://localhost:8080/ 網(wǎng)站就可以訪問的 WEB 服務(wù)了。

          a4bf37e542e84b35d131162514e9adb6.webp

          迷你老虎機(jī)

          用隨機(jī)的 unicode 字符打樣出來,完美模擬了老虎機(jī)的效果,按回車鍵停止。請(qǐng)看下面動(dòng)態(tài)圖。

          python?-c?"import?random;p=lambda:random.choice('7?????????');[print('|'.join([p(),p(),p()]),end='\r')?for?i?in?range(8**5)]”


          5d1f345635897d933a120e1c8ccfc528.webp

          一行代碼解決八皇后問題

          什么是八皇后問題?我們看下百度百科的解釋:八皇后問題,是一個(gè)古老而著名的問題,是回溯算法的典型案例。該問題是國際西洋棋棋手馬克斯·貝瑟爾于 1848 年提出:在 8×8 格的國際象棋上擺放八個(gè)皇后,使其不能互相攻擊,即任意兩個(gè)皇后都不能處于同一行、同一列或同一斜線上,問有多少種擺法。高斯認(rèn)為有 96 種方案。1854 年在柏林的象棋雜志上不同的作者發(fā)表了40 種不同的解,后來有人用圖論的方法解出 92 種結(jié)果。計(jì)算機(jī)發(fā)明后,有多種計(jì)算機(jī)語言可以解決此問題。

          7600cc767480bed00e884d9ba80aebdb.webp

          用下列代碼可以列出所有結(jié)果,共 92 種。

          [__import__('sys').stdout.write('\n'.join('.'?*?i?+?'Q'?+?'.'?*?(8-i-1)?for?i?in?vec)?+?"\n========\n")?for?vec?in?__import__('itertools').permutations(range(8))?if?8?==?len(set(vec[i]+i?for?i?in?range(8)))?==?len(set(vec[i]-i?for?i?in?range(8)))]


          b3b288a8d665c6ce44206fb80ab515e9.webp

          將多維數(shù)組轉(zhuǎn)化為一維


          一行代碼將多維數(shù)組轉(zhuǎn)化為一維數(shù)組。


          print([i?for?item?in?ab?for?i?in?item])

          給出一個(gè)多維數(shù)值 ab,通過這個(gè)方法變成一維數(shù)組。

          ab?=?[[1,?2,?3],?[5,?8],?[7,?8,?9]]
          print([i?for?item?in?ab?for?i?in?item])

          #?結(jié)果
          [1,?2,?3,?5,?8,?7,?8,?9]

          求解 2 的 1000 次方的各位數(shù)之和

          2 的 1000 次方的值很大,把結(jié)果每位數(shù)都加起來等于多少呢?

          print(sum(map(int,?str(2**1000))))

          #?結(jié)果?
          1366

          祝福

          最后,送給各位:愛你三千遍!

          print("I Love You!\n"?*?3000)

          你覺得還有哪些好玩的、有意思的一行代碼實(shí)現(xiàn)的功能,歡迎留言!

          瀏覽 85
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  夜夜骑夜夜撸 | a中文在线视频 | 高清五码一区二区三区 | 无码人妻一区二区三区在线 | 国产一区二区三区皇色网站 |