这是一个有效的quine吗?

时间:2010-06-15 17:41:09

标签: python quine

def start(fileName):
  fileReader = open(fileName)
  for row in fileReader:
    print row,

if __name__ == "__main__":
  import sys
  if len(sys.argv) <= 1:
    print "usage quine /path/to/file"
    sys.exit(-1)
  fileName = sys.argv[0]
  start(fileName)
  
    

python quine.py foo

  

2 个答案:

答案 0 :(得分:9)

不,quine不应该接受任何输入:

  

quine不接受任何输入。允许输入将允许源代码通过键盘输入程序,打开程序的源文件和类似的机制。

来自Quine (computing)

<强>更新

您需要将源编码到quine本身。一个quine由两部分组成:执行实际打印的代码和代表源代码的数据。这似乎是递归的,但事实并非如此。对于一个好的quine教程,我建议你查看this link;这就是我用我设计的语言创建一个quine的原因。

答案 1 :(得分:2)

Quines无法访问文件系统,所以没有。正如维基百科所述,“允许输入将允许通过键盘将源代码提供给程序,打开程序的源文件以及类似的机制。”

参考: Wikipedia: Quine (computing)