2016-05-13 60 views
0

在僞代碼中,可以創建變量,如'variable(x)',將x作爲永久變化的數字,從而創建多個不同的變量。例如,如果:如何在Python中創建連續變化的變量

x = 0 
variable(x) = 4 
x = 1 
variable(x) = 7 

然後打印 '變量(0)' 會給你的結果 '4' 和打印 '變量(1)' 將輸出 '7'。我的問題是:這可能在Python中完成嗎?

+0

你想要類似開關盒的東西嗎?如果是這樣,你可以使用字典。 'def variable(x):return {0:4,1:7} [x]'? –

+1

你想要一個叫做'variable'的數組嗎?那麼你可以調用'variable [0]'來獲得一個值 –

+1

你可能想寫一個*函數*來將'x'映射到不同的值 –

回答

1

您不能在Python中使用完全相同的語法,但您可以使用dict來近距離使用。

variable = {} 
x = 0 
variable[x] = 4 
x = 1 
variable[x] = 7 
print(variable[0]) 
print(variable[1]) 

如果你的變量的域是一個非負整數,你知道的最大整數先驗,那麼你可以使用一個list

variable = [None]*2 
x = 0 
variable[x] = 4 
x = 1 
variable[x] = 7 
print(variable[0]) 
print(variable[1]) 
+0

謝謝你,羅布。這非常有幫助! – Pezbone

0

最近的可能是一個列表:

x = [] 
x.append(4) 
x.append(7) 

print(x[0]) 
4 
print(x[1]) 
7 

如果你不想使用計數作爲標識符,你可以使用Rob的答案。

0

你可以使用字典

variable = {} 
    variable['0'] = 4 
    variable['1'] = 7 

    x=1 
    print varibale[x] 

將打印7

0

鑑於你的僞代碼沒有聲明變量,但功能,這是很容易建立這樣的事情:

def my_function(x): 
    return 3*x + 4 

然後你可以

print my_function(0) 
4 
print my_function(1) 
7 

當然,您可以在該功能中做幾乎所有的事情;我使用的數學線性映射只是一個例子。您可能正在閱讀整個文件,在其中尋找x並返回例如行號,您可以跟蹤衛星位置並返回衛星Nr的當前位置。 x ...這是python,一種支持函數的完全成熟的編程語言,就像我能想到的幾乎所有非聲明性編程語言一樣。