2012-12-22 46 views
0

我工作的Python程序,我想是這樣的:自動設置瓦爾的名字蟒蛇

for i in range(1,n+1): 
    var(a+str(i)) = input() 
    #do something 

這樣的變量是A1,A2,A3等。 可以這樣做,以及如何?

+1

你爲什麼要這樣?改爲使用字典!爲什麼這個問題提高了?是什麼原因? –

+0

你應該熟悉基於零的編號的想法。需要通過'range(1,n + 1)'而不是'range(n)'這樣的扭曲來提醒你注意你做錯了事實。 –

+0

我需要'我'在多個地方,所以我必須把(i + 1)其他地方。所以range(1,n + 1)在這種情況下使得代碼更短... – Mirac7

回答

4

你不想那樣做,相信我。你想使用字典

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]

+1

(當然,'vars'對於一個變量來說是一個糟糕的名字 - 你應該使用一個有意義的名字來替代它,這僅僅是一個例子。) –