我可以根据另一个变量更改变量的名称吗?
Can I change the name of a variable depending on another variable?
我想使用另一个变量来更改一个变量,而不是使用无聊的旧方法:
if choice == 'tuna':
tuna_num -= 1
相反,我想像下面看到的方法一样快速地完成它:
tuna_num = 1
bacon_num = 1
#important bits v
choice = input('Choose a variable name to edit')
(choice)_num -= 1
print((choice)_num)
(对不起,如果这很简单或者我只是愚蠢)
使用字典:
nums = {
'tuna': 1,
'bacon': 1,
}
choice = input('Choose a variable name to edit')
nums[choice] -= 1
print(nums[choice])
这是一件很糟糕的事情,但是:
>>> a = 1
>>> vars()['a'] = 2
>>> print(a)
2
所以:
tuna_num = 1
bacon_num = 1
#important bits v
choice = input('Choose a variable name to edit')
if f"{choice}_num" in vars():
vars()[f"{choice}_num"] -= 1
print(vars()[f"{choice}_num"])
我想使用另一个变量来更改一个变量,而不是使用无聊的旧方法:
if choice == 'tuna':
tuna_num -= 1
相反,我想像下面看到的方法一样快速地完成它:
tuna_num = 1
bacon_num = 1
#important bits v
choice = input('Choose a variable name to edit')
(choice)_num -= 1
print((choice)_num)
(对不起,如果这很简单或者我只是愚蠢)
使用字典:
nums = {
'tuna': 1,
'bacon': 1,
}
choice = input('Choose a variable name to edit')
nums[choice] -= 1
print(nums[choice])
这是一件很糟糕的事情,但是:
>>> a = 1
>>> vars()['a'] = 2
>>> print(a)
2
所以:
tuna_num = 1
bacon_num = 1
#important bits v
choice = input('Choose a variable name to edit')
if f"{choice}_num" in vars():
vars()[f"{choice}_num"] -= 1
print(vars()[f"{choice}_num"])