2014-06-20 37 views
3

這裏是我的代碼:如何使用原始輸入定義一個變量

Adherent = "a person who follows or upholds a leader, cause, etc.; supporter; follower." 

word=raw_input("Enter a word: ") 

print word 

當我運行此代碼,輸入貼壁,字貼壁產生。我怎樣才能讓Adherent的定義彈出來呢?

+0

您需要'輸入'功能。 – vaultah

+0

@frostnational不是在Python 2.x中,很明顯這是什麼(由於存在'raw_input'和'print'語句。 – rlms

+2

我建議您嘗試[tutorial](https://docs.python。 org/2/tutorial /) – rlms

回答

9

你可以(應該)使用dictionary其中字映射到定義:

>>> word_dct = {"Adherent" : "a person who follows or upholds a leader, cause, etc.; supporter; follower."} 
>>> word=raw_input("Enter a word: ") 
Enter a word: Adherent 
>>> word_dct[word] 
'a person who follows or upholds a leader, cause, etc.; supporter; follower.' 
>>> 

創建動態的變量是一個壞的和潛在危險的做法。不僅容易丟失它們,而且如果使用execeval來創建它們,則會冒着執行任意代碼的風險。有關更多信息,請參閱Why should exec() and eval() be avoided?。即使訪問localsglobals一般也不贊成使用列表或字典。

+2

+1什麼可能是實現['字典']的更好方法(http://en.wikipedia.org/wiki/Dictionary)比使用['dictionary'](http://en.wikipedia.org/wiki/Associative_array)? –

1

Adherent是一個變量,和您的第一行設置值到"a person who follows or upholds a leader, cause, etc.; supporter; follower."
word也是可變的,所述值由所述用戶提供的。
print()打印變量存儲的值。如果你想讓用戶能夠選擇一個詞來定義你需要一個單詞詞典。

words = { 
    "Adherent": "a person who follows or upholds a leader, cause, etc.; supporter; follower.", 
} 

第一個值(「Adherent」)是關鍵。它與第二個字符串關聯。
一個字典的工作方式和列表除了列表中的值是通過它們的索引訪問的。在字典中,值可以通過鍵來訪問。

所以:

words = { 
"Adherent": "a person who follows or upholds a leader, cause, etc.; supporter; follower.", 
} 
word = raw_input("Word: ") 
print words[word] #this is equivalent to words["Adherent"] if the user inputs "Adherent" 

只是一個旁註,對象和一般變量應該以小寫字母開頭。

相關問題