Ken Thompson爷爷的经典复制自身代码程序 - Python版本(只用两行!)

Ken Thompson可是大牛人了!不认识的人赶快Google/百度一下。Ken爷爷是Unix创始人,C语言鼻祖!Ken 当时大学时候没游戏玩,就自己给自己出题目写程序,就有了这个复制自身代码的程序了,相当经典,当然那时还没有C语言, Ken 是用 Fortran 编的. 后来在获图灵奖的演说中, Ken 用 C 语言演示了这个程序.请看Ken爷爷的经典C程序:

Ken Thompson 的经典 C 程序

我尝试用Python来完成这个复制自己的程序,出乎预料,我最短只用了两行就完成了,可见Python的强大。

解法一:

= "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]

解法二:

= [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#试试~~

最后,真心祝愿震区的朋友平安。让我们坚信:中国人民是不可战胜的!

[温馨提示]:该文章由原博客园导入而来,如排版效果不佳,请移步:http://www.cnblogs.com/coderzh/archive/2008/05/13/1194445.html

微信扫一扫交流

作者:CoderZh
微信关注:hacker-thinking (一个程序员的思考)
本文出处:https://blog.coderzh.com/2008/05/13/1194445/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。