2012-10-03 37 views
0

我的任務是編寫一些函數來評估後綴,前綴和中綴表達式。這很好,很花哨,我已經完成了這部分任務,但是當我接受表達時,我的問題就出現了。如果用戶通過'V'輸入字符串,我必須將'V'後面的整數分配給需要的變量。爲了更加清楚,如果輸入是'V 1 2 4 9',我必須給A分配1,給B分配2,給C分配4,給D給我分配9。可以做到這一點,如果我分配每個變量的變量。但這是一個漫長而艱難的過程,我相信還有更好的方法來做到這一點。我需要將整型值賦給變量的原因是因爲當用戶想要計算一個表達式時,它必須採用' - + AB * CF'的形式,例如,如果它是前綴表示法。當然,如果用戶需要中綴或後綴,表單會發生變化,但是要評估的值仍然是字母表形式,就像我猜想的數學一樣。如何分配任意值到多個變量

我很抱歉,如果這個問題不清楚。很顯然,這是作業,但我不需要代碼或人員爲我做這件事,只是對最佳方法的一些澄清就足夠了。謝謝大家。

+0

爲什麼 '..'?你總是覺得有必要貶低別人嗎?列表只允許我通過索引來引用值。你錯了。 對於其他人,感謝您的時間和答案。 – trainreq

回答

4

存放在字典而不是值:

import string 

keys = string.ascii_uppercase 
values = # make list of the values 

variables = {keys[i]: val for i, val in enumerate(values)} 

現在你可以解決V 1 3 4值作爲variables['A']variables['B']

+0

@Martijin .. +1其實沒想到字典.. –

+4

+1。每當你想到「我需要分配一個開放式,動態確定的變量集合」時,答案几乎總是「不行,你需要使用字典」。 (事實上​​,即使你真的需要單獨的變量,答案仍然是使用字典,只是'globals()'是字典...) – abarnert