使用用户在 python 中定义的整数值定义变量名称
defining variable names with integer values defined by user in python
我目前正在尝试编写一个简单的程序来计算概率
不同大小骰子的可能组合(例如:6、12、4、20)。我遇到的问题是它应该是用户友好的,并且可以处理用户输入的所有 int 值。我在这里遇到的问题如下:
p = input('How many dice do you have ? :')
a = len(p)
x = 0
while x != a :
x += 1
(n + x) = input('What is the amount of faces of your ' + x + 'die ? :')
# here i want to create a variable named n1, n2, n3,... until the loop stops.
谁能帮我找到解决这个问题而无需导入词典的方法。
我明白你想做什么,但我不知道有什么方法可以像你尝试的那样创建变量。
相反,您可以使用列表,并将用户输入附加到列表中。或者您可以尝试使用字典来获得类似的结果。
您可以通过修改 locals()
字典按程序创建变量。
for i in range(3):
var_name = 'var{}'.format(i)
locals()[var_name] = i
print var0, var1, var2
# 0 1 2
话虽如此,您可能不应该这样做。列表或字典会更好并且更不容易出错。对于查看您的代码的人来说,不清楚变量的定义位置。此外,它不会让您的应用程序编码变得更容易,因为您不会提前知道哪些变量将存在或不存在,那么您将如何在代码中使用它们?
我目前正在尝试编写一个简单的程序来计算概率 不同大小骰子的可能组合(例如:6、12、4、20)。我遇到的问题是它应该是用户友好的,并且可以处理用户输入的所有 int 值。我在这里遇到的问题如下:
p = input('How many dice do you have ? :')
a = len(p)
x = 0
while x != a :
x += 1
(n + x) = input('What is the amount of faces of your ' + x + 'die ? :')
# here i want to create a variable named n1, n2, n3,... until the loop stops.
谁能帮我找到解决这个问题而无需导入词典的方法。
我明白你想做什么,但我不知道有什么方法可以像你尝试的那样创建变量。
相反,您可以使用列表,并将用户输入附加到列表中。或者您可以尝试使用字典来获得类似的结果。
您可以通过修改 locals()
字典按程序创建变量。
for i in range(3):
var_name = 'var{}'.format(i)
locals()[var_name] = i
print var0, var1, var2
# 0 1 2
话虽如此,您可能不应该这样做。列表或字典会更好并且更不容易出错。对于查看您的代码的人来说,不清楚变量的定义位置。此外,它不会让您的应用程序编码变得更容易,因为您不会提前知道哪些变量将存在或不存在,那么您将如何在代码中使用它们?