如何查看用户是否选择列表中的元素 (python)
How to see if the user chose a element in a list (python)
我正在尝试使用以下代码:
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')
我想让它决定用户是否选择了列表中的一个选项。如果用户选择了其中之一,那么程序应该保持 运行,否则,它会一直告诉用户选择一个有效的矩阵。但是它不起作用,为什么?
继续将代码中的 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
之间的区别:
- How can I read inputs as integers?
- What's the difference between raw_input() and input() in python3.x?
我正在尝试使用以下代码:
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')
我想让它决定用户是否选择了列表中的一个选项。如果用户选择了其中之一,那么程序应该保持 运行,否则,它会一直告诉用户选择一个有效的矩阵。但是它不起作用,为什么?
继续将代码中的 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
之间的区别:
- How can I read inputs as integers?
- What's the difference between raw_input() and input() in python3.x?