2016-11-26 42 views
0

我嘗試使用下面的代碼:怎麼看,如果用戶在列表(蟒蛇)選擇了一個元素

blosum = input("pick a matrix:") 
x = [30, 40, 50, 100, 75, 70] 
while blosum not in x : 
    blosum = raw_input("Incorrect, pick a valid matrix:") 
print ('ok')  

我希望它來決定用戶是否選擇了的選項之一名單。如果用戶選擇其中一個,那麼程序應該繼續運行,否則它會一直告訴用戶選擇一個有效的矩陣。但它不起作用,爲什麼?

回答

0

繼續前進,在你的代碼更改raw_inputinput像這樣投下用戶提供的數據爲整數,像這樣:

blosum = int(input("pick a matrix: ")) 
x = [30, 40, 50, 100, 75, 70] 
while blosum not in x: 
    blosum = int(input("Incorrect, pick a valid matrix:")) 
print ("OK") 

測試

$ python test.py 
pick a matrix: 1 
Incorrect, pick a valid matrix:2 
Incorrect, pick a valid matrix:30 
OK 

這兩個工作Python 2.7+和3+,我相信,但你應該測試它。

見的問題,如這些raw_inputinput之間的區別: