如何选择带有输入的变量而不是更改其值, 这是我能提出的最好的,但似乎没有用。
itm1 = 1
itm2 = 1
x = raw_input()
x += 1
print (itm1)
我正试图让它变得可以根据输入改变任何变量。
答案 0 :(得分:2)
这是可能的,但在大多数情况下你真的不应该这样做。更好的方法是将参数存储在字典中,并执行以下操作:
d = {
'itm1': 1,
'itm2': 1,
}
x = raw_input()
d[x] += 1
print (d['itm1'])
如果你真的需要更改局部变量并且有充分的理由不将其重写为正确的集合,你可以使用它:(但它很难看)
locals()[x] += 1
答案 1 :(得分:1)
你想做什么?
如果要将输入值添加到现有变量,可以执行以下操作:
itm1 = 1
itm2 = 1
x = raw_input()
itm1 += x
print (itm1)
您的问题目标尚不清楚。 如果要根据输入选择一个变量进行更改,可以尝试:
itm = [1, 1]
x = raw_input()
itm[x] += 1
print(itm[x])
当然,这假设你在aray指数的范围内输入一个值。
或者您可以定义字典
y = {"itm1": 1, "itm2": 1}
x = raw_input()
y[x] += 1
print( y[x] )
答案 2 :(得分:-1)
你可以使用'exec'。这通过raw_input获取变量名称并执行“variable + = 1”
itm1 = 1
itm2 = 1
exec(raw_input()+'+=1')
print(itm1)
但这不是最好的方法。改为使用字典或列表