我有变量text1
,text2
,text3
。我想打印它们。
for i in range(1, 4):
text = 'text' + str(i)
print(text)
此代码打印字符串 文本1 文本2 文字3 ,而不是他们的内容。
答案 0 :(得分:3)
正确的方法是使用字典。目前你正在接受一个字符串对象,由变量文本引用,该变量文本包含字符串' text'并将其与字符串对象连接起来' i'制作一个新的字符串对象' texti'并使文本变量引用。即你所做的就是创建一个新的字符串对象并使用相同的变量引用它。
你想要做的是创建一个字典,其中键是变量,值包含你引用的对象。
variables = {'var1':'Hello', 'var2':'World'}
现在,如果你想得到“你好”。你会
print(variables['var1'])
答案 1 :(得分:1)
您不想这样做,请尝试使用列表或字典。
答案 2 :(得分:1)
如果由于某种原因需要这样做,可以使用函数eval
将字符串解析为python表达式。只需将您的print(text)
行替换为
print(eval(text))
但正如James Lingham所说,这不是一个好主意。它易于阅读并容易出错,并且存在更简单的解决方案。例如,您可以创建一个列表[text1, text2, text3]
,然后循环遍历它们。
text = [text1, text2, text3]
for i in text:
print(i)
答案 3 :(得分:-1)
虽然我同意其他评论,但有一种方法。 但请尝试找到更好的方法来做到这一点。
for i in range(1,4):
text = 'text' + str(i)
print(eval(text))