2016-11-26 7 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_input к input в вашем коде, как так и отливать поставляется пользовательские данные в целое число следующим образом:

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_input и input в вопросах, как эти: