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

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



本文转自CoderZh博客园博客,原文链接:http://www.cnblogs.com/coderzh/archive/2008/05/13/1194445.html,如需转载请自行联系原作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值