gpt4 book ai didi

python - 使用字符串模板在python中制作quine?

转载 作者:行者123 更新时间:2023-12-04 12:21:19 25 4
gpt4 key购买 nike

我基本上是在尝试在 python 中制作一个 quine 并首先尝试使用 f-strings,但我很快意识到我首先必须定义我想要在字符串中格式化的变量。然后我了解了字符串模板,并认为这将是可行的方法。然而,我对它没有那么有经验,可能需要一些帮助。有什么建议?
这是实际的代码:

from string import Template
s="from string import Template\ns=$s\nt=Template($s).substitute(s=$s)\nprint($s)"
t=Template(s).substitute(s=s)
print(s)
它给了我一些正确的结果。唯一的问题是它没有取代 $s与实际字符串。我可能只是误解了 quines 的整个概念以及执行它们的方法,但我觉得这应该可行。
输出:
from string import Template
s=$s
t=Template($s).substitute(s=$s)
print($s)

最佳答案

我不确定如何使用 string.Template 完成此操作,但你可以使用 str.format 作为适合此任务的 f 字符串的直接替代品,因为它允许您延迟 s 的插值多变的:

s='s={0!r}\nprint(s.format(s))'
print(s.format(s))
输出:
s='s={0!r}\nprint(s.format(s))'
print(s.format(s))
!r用于获取 reprs , 将它用引号括起来,并转义换行符。

关于python - 使用字符串模板在python中制作quine?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69329774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com