Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:一个重复函数,它用一个数字(1~3)替换x,该数字随着每次传递而增加_Python - Fatal编程技术网

Python:一个重复函数,它用一个数字(1~3)替换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

我该如何使这段代码工作,以便它将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 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”