Python 中的 Quine


Quine 是一种程序,它不接受任何输入,但会产生输出。它将显示其自己的源代码。此外,Quine 有些条件。我们不能在程序中打开源代码文件。

示例 1

此处使用简单的字符串格式化。我们定义了一个变量“a”,并在“a”中我们存储了“a=%r;print (a%%a)”。然后我们打印“a”的值,还将%r替换为“a”的值。因此,quine 正常工作 −

Open Compiler
a='a=%r;print (a%%a)';print (a%a)

输出

a='a=%r;print (a%%a)';print (a%a)

示例 2

我们定义了一个变量 _ 并赋值“_=%r;print _%%_”。然后,我们打印 _%_。我们将 _ 作为输入打印到字符串格式中。因此,_ 中的%r 获取 _ 的值。

Open Compiler
_='_=%r;print (_%%_)';print (_%_)

输出

_='_=%r;print (_%%_)';print (_%_)

不是 Quine

与以上两个示例相比,下面的代码看起来像是最小的 Quine。但是,它实际上不是 Quine,因为我们违反了 Quine 的规则。我们不能在 Quine 中打开文件。

示例

print(open(__file__).read())

更新于: 12-8-2022

1 千 + 次浏览

开启你的 事业

完成课程并获得认证

开始学习
广告