Это действительная квинна? - PullRequest
3 голосов
/ 15 июня 2010
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 ]

9 голосов
/ 15 июня 2010

Нет, квинна не должна принимать никаких входных данных:

Квайна не принимает никаких данных.Разрешение ввода позволило бы вводить исходный код в программу через клавиатуру, открывать исходный файл программы и аналогичные механизмы.

С Quine (вычисления) .

ОБНОВЛЕНИЕ

Вам необходимо закодировать источник в самой сущности.Quine состоит из двух частей: кода, который выполняет фактическую печать, и данных, представляющих исходный код.Это кажется рекурсивным, но не совсем.Для хорошего урока я рекомендую проверить эту ссылку ;это то, что я использовал для создания квин на языке, который я разработал.

2 голосов
/ 15 июня 2010

Квин не может получить доступ к файловой системе, поэтому нет.Как утверждает Википедия: «Разрешение ввода позволит исходному коду вводиться в программу через клавиатуру, открывать исходный файл программы и подобные механизмы».

Ссылка: Википедия: Quine (вычисления)

...