Python:一个重复函数,它用一个数字(1~3)替换x,该数字随着每次传递而增加
我该如何使这段代码工作,以便它将x替换为一个每次函数通过时都会更改的数字Python:一个重复函数,它用一个数字(1~3)替换x,该数字随着每次传递而增加,python,Python,我该如何使这段代码工作,以便它将x替换为一个每次函数通过时都会更改的数字 P1 = 1 P2 = 2 P3 = 3 for x in range(1,3): global P(x) print (P(x)) x += 1 我想让它打印P1的值,然后是P2,然后是P3。(打印这些不是我的实际目标,它就像一个测试脚本,而不是粘贴我的400行脚本。) 如果我正确理解了您的要求,请使用您定义的命名方案动态打印变量,谢谢: P1 = 1 P2 = 2 P3 = 3 for x in ra
P1 = 1
P2 = 2
P3 = 3
for x in range(1,3):
global P(x)
print (P(x))
x += 1
我想让它打印P1的值,然后是P2,然后是P3。(打印这些不是我的实际目标,它就像一个测试脚本,而不是粘贴我的400行脚本。)
如果我正确理解了您的要求,请使用您定义的命名方案动态打印变量,谢谢:
P1 = 1
P2 = 2
P3 = 3
for x in range(1,4):
print(eval("P"+str(x)))
eval("P"+str(x)) == P1
eval("P"+str(x)) == P2
eval("P"+str(x)) == P3
输出:
1
True
False
False
2
False
True
False
3
False
False
True
这就是你需要的吗?不要这样做。列出你所有的P变量。我不知道该怎么称呼它,
p_变量
我猜<代码>p_变量=[P1、P2、P3]。遍历这个列表。是的,但是如果我这样做,我就不能在脚本的其余部分设置和更改变量。我需要做的是运行一段代码(在本例中为“print Px”,但实际上它是一个13行长的脚本,但它重复了9次,只是略有变化,我只想让它写一次,这样看起来就不会那么难看了。)您正在解决一个XY问题。你的代码不应该以这样的方式编写,这就是答案。好吧,我这里有Git repo,如果你看第91到269行,你可以看到它本质上是相同的9次。如何使它成为相同代码的9个重复中的1个?是的,非常感谢,对于每个我想替换“x”的实例,我是否只粘贴“(eval(“P”+str(x)))”?如果我想改变P变量的值,这行吗?很高兴你得到了你需要的。如果这回答了你的问题,请接受这个答案。是的,只是测试代码。我似乎有一个错误,如果x=P1,它的意思是去,然后继续,如果x=P2 ect,但它没有这样做。你认为它不这样做的原因是什么?如果eval(“P”+str(x))==P1,用于比较。我在我的回答中也加入了这一点。我找出了真正的错误,我在之前的评论中犯了一个错误。如果Turn==“X”,我需要更新此代码段:`P1=“X”`Turn=“O”