zoukankan      html  css  js  c++  java
  • 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#试试~~
    最后,真心祝愿震区的朋友平安。让我们坚信:中国人民是不可战胜的!
  • 相关阅读:
    进入正在运行的Docker的asp.net core容器
    EF 更新记录发现外键更改但更新又跳回以前值
    远程获取http数据和提交数据
    C# 32位16进制加密
    netcore命令行运行程序
    MD5加密32位16进制
    C# MD5加密32位16进制有时少一位问题
    netcoreMVC中使用Vue模板分页封装(不适合数据量大)
    Vue组件间传值 和 访问
    jenkins部署安装
  • 原文地址:https://www.cnblogs.com/coderzh/p/1194445.html
Copyright © 2011-2022 走看看