Ken Thompson可是大牛人了!不認識的人趕快Google/百度一下。Ken爺爺是Unix創始人,C語言鼻祖!Ken 當時大學時候沒遊戲玩,就自己給自己出題目寫程式,就有了這個複制自身代碼的程式了,相當經典,當然那時還沒有C語言, Ken 是用 Fortran 編的. 後來在獲圖靈獎的演說中, Ken 用 C 語言示範了這個程式.請看Ken爺爺的經典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#試試~~
最後,真心祝願震區的朋友平安。讓我們堅信:中國人民是不可戰勝的!
本文轉自CoderZh部落格園部落格,原文連結:http://www.cnblogs.com/coderzh/archive/2008/05/13/1194445.html,如需轉載請自行聯系原作者