Python 中的 Quine
Quine 是一种程序,它不接受任何输入,但会产生输出。它将显示其自己的源代码。此外,Quine 有些条件。我们不能在程序中打开源代码文件。
示例 1
此处使用简单的字符串格式化。我们定义了一个变量“a”,并在“a”中我们存储了“a=%r;print (a%%a)”。然后我们打印“a”的值,还将%r替换为“a”的值。因此,quine 正常工作 −
a='a=%r;print (a%%a)';print (a%a)
输出
a='a=%r;print (a%%a)';print (a%a)
示例 2
我们定义了一个变量 _ 并赋值“_=%r;print _%%_”。然后,我们打印 _%_。我们将 _ 作为输入打印到字符串格式中。因此,_ 中的%r 获取 _ 的值。
_='_=%r;print (_%%_)';print (_%_)
输出
_='_=%r;print (_%%_)';print (_%_)
不是 Quine
与以上两个示例相比,下面的代码看起来像是最小的 Quine。但是,它实际上不是 Quine,因为我们违反了 Quine 的规则。我们不能在 Quine 中打开文件。
示例
print(open(__file__).read())
广告