使用用户在 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

话虽如此,您可能不应该这样做。列表或字典会更好并且更不容易出错。对于查看您的代码的人来说,不清楚变量的定义位置。此外,它不会让您的应用程序编码变得更容易,因为您不会提前知道哪些变量将存在或不存在,那么您将如何在代码中使用它们?