自动设置变量';命名python

自动设置变量';命名python,python,variables,loops,Python,Variables,Loops,我正在开发python程序,我想要这样的东西: for i in range(1,n+1): var(a+str(i)) = input() #do something 所以变量是a1,a2,a3,等等。 这能做到吗?如何做到?相信我,你不会想这么做的。你想用字典吗 vars = {} for i in range(1,n+1): vars[i] = input() #do something 或者,由于在您的特殊情况下,所有数字都是按顺序排列的,请列出: v

我正在开发python程序,我想要这样的东西:

for i in range(1,n+1):
    var(a+str(i)) = input()
    #do something
所以变量是a1,a2,a3,等等。
这能做到吗?如何做到?相信我,你不会想这么做的。你想用字典吗

vars = {}
for i in range(1,n+1):
    vars[i] = input()
    #do something
或者,由于在您的特殊情况下,所有数字都是按顺序排列的,请列出:

vars = [None]  #  initialize vars[0] with None
for i in range(n):
    vars.append(input())
    #do something

现在您可以访问变量,如
vars[2]
vars[5]
等。

您不想这样做,相信我。你想用字典吗

vars = {}
for i in range(1,n+1):
    vars[i] = input()
    #do something
或者,由于在您的特殊情况下,所有数字都是按顺序排列的,请列出:

vars = [None]  #  initialize vars[0] with None
for i in range(n):
    vars.append(input())
    #do something

现在您可以访问变量,如
vars[2]
vars[5]
等。

为什么要这样?用口述代替!为什么这个问题被否决了?出于什么原因?你应该熟悉零基编号的概念。需要经历像
range(1,n+1)
而不是
range(n)
这样的扭曲应该提醒你,你做错了什么。我需要在多个地方加上“I”,所以我必须在其他地方加上(I+1)。所以在这种情况下,范围(1,n+1)会使代码变短……为什么要这样?用口述代替!为什么这个问题被否决了?出于什么原因?你应该熟悉零基编号的概念。需要经历像
range(1,n+1)
而不是
range(n)
这样的扭曲应该提醒你,你做错了什么。我需要在多个地方加上“I”,所以我必须在其他地方加上(I+1)。因此,在本例中,范围(1,n+1)使代码更短…(当然,
vars
对于变量来说是一个糟糕的名称-您应该使用一个有意义的名称。这只是一个示例。)(当然,
vars
对于变量来说是一个糟糕的名称-您应该使用一个有意义的名称。这只是一个示例。)