用户只能使用列表中的输入

时间:2014-09-15 10:57:13

标签: python

我的菜单存在很大问题。我想要一个选项列表供用户在它们之间做出选择。我想要一些关于如何构建此菜单的最佳方法的帮助或提示。

这是我的尝试。

print ('')
print ('1. option') 
print ('2. option')
print ('3. option')
print ('')
comp= (input('Pick an option [1,2,3]  '))
items= {'1','2','3'}
while comp != items:
    print ('Please enter either 1, 2, or 3.')
    comp= (input('Pick an option [1,2,3]'))

2 个答案:

答案 0 :(得分:1)

您正在将字符串(comp)与集合(items)进行比较。您想要做的是检查comp中是否包含items

while comp not in items:
    print ('Please enter either 1, 2, or 3.')
    comp= (input('Pick an option [1,2,3] '))

答案 1 :(得分:0)

comp != items始终为true,因为它们具有不同的数据类型(字符串和集合)。所以,你永远不会走出循环 尝试使用:

while comp not in iterms:
    print ('Please enter either 1, 2, or 3.')
    comp= (input('Which strategy for the computer [1,2,3]  '))

如果您使用的是python2.7。您还需要将comp转换为sting。

comp= str(input('Pick an option [1,2,3] '))