(python)将字符串识别为已定义的变量


x= 1
a_1_add = "message 1"
a_2_add = "message 2"
while x<3:
y = "a_" + x + "_add"
print(y)
x += 1

我该如何让python打印";消息1’;消息2";而不是";a_1_add";?我想特别使y中的字符串被识别为变量。我该怎么做?

我想要一个从变量"自动改变的代码;a_1_add";至";a_2_add";等等,但不想手动写出来,因为差别只是在中间的数字。

编辑:我知道";对于循环";(感谢那些提出建议的人(但对于我的代码(不像我写的例子那么简单(,我真的需要使用while循环。

提前谢谢。我是蟒蛇的初学者。真的很感谢你的帮助。

既然你是初学者,我想你应该看看这样的东西:

a_1_add = "message 1"
a_2_add = "message 2"
container = [a_1_add, a_2_add]
for element in container:
print(element)

注意,您仍然可以访问变量a_1_adda_2_add的内容,更改它们,向container添加更多变量,等等

也许您可以使用for循环遍历所有变量。

var1 = “message 1”
var2 = “message 2”
var3 = “message 3”
for i in [var1, var2, var3]:
print(i)

编辑:

是的,正如@juanpa.arriverra所建议的,stringlistdictionary等都是Python中的数据类型(内置(变量是用户定义的,只是一个代表分配给它的值的名称。

我想我明白你的意思了:比如用whilè loop创建变量?如果是这样的话,恐怕这是不可能的。也许您可以使用一个数组来包含所有的值?并使用CCD_ 9或CCD_。

x = 1
all_val = []  # this is a list here
while x < 3:
all_val.append(f"a_{x}_add")
x += 1
print(all_val[0])
print(all_val[1])
print(all_val[1:])

希望它能回答你的问题。

I = 1
tuto1 = input("type In")
#how to do this
if(tuto1 == 1):

whatever_my_name_is@penguin:~$random_stuff.pyI型I

最新更新