Ken Thompson爺爺的經典複製自身代碼程式 – Python版本(只用兩行!)

來源:互聯網
上載者:User
Ken Thompson可是大牛人了!不認識的人趕快Google/百度一下。Ken爺爺是Unix創始人,C語言鼻祖!Ken
當時大學時候沒遊戲玩,就自己給自己出題目寫程式,就有了這個複製自身代碼的程式了,相當經典,當然那時還沒有C語言, Ken 是用 Fortran
編的. 後來在獲圖靈獎的演說中, Ken 用 C 語言示範了這個程式.請看Ken爺爺的經典C程式:
Ken Thompson 的經典 C 程式

我嘗試用Python來完成這個複製自己的程式,出乎預料,我最短只用了兩行就完成了,可見Python的強大。

解法一:a = "print 'a = ', repr(a), '\n', repr(a)[1:-5]', a"
print 'a = ', repr(a), '\n', repr(a)[1:-5]

輸出結果:
a =  "print 'a = ', repr(a), '\n', repr(a)[1:-5]', a"
print 'a = ', repr(a), '\n', repr(a)[1:-5]

解法二:a = ["print 'a = ', a, '\\n', ''.join(a)"]
print 'a = ', a, '\n', ''.join(a)

輸出結果:
a = ["print 'a = ', a, '\\n', ''.join(a)"]
print 'a = ', a, '\n', ''.join(a)

有興趣的朋友可以用C#試試~~
最後,真心祝願震區的朋友平安。讓我們堅信:中國人民是不可戰勝的!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.