从列表中选择的最佳方式

时间:2014-03-23 14:28:50

标签: python list loops

这是一个循环,允许用户只从列表中选择一个项目。

types = ['Small', 'Medium','Large']
while True:
    print('Types: '+ types)
    choice = raw_input('Choose a type. ').capitalize()
    if choice in types:
        choice = choice
        break
    else:
        choice = raw_input('Choose a type. ').capitalize()

我想知道是否还有更小的&这个循环的清洁版本。尝试除了版本可能。 这是写它的最好方法吗?替代?

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

同样没有不必要的代码:

types = ['Small', 'Medium','Large']
print('Types: '+ types)
while True:
    choice = raw_input('Choose a type. ').capitalize()
    if choice in types:
        break

答案 1 :(得分:1)

不需要几行,我将向他们展示评论:

types = ['Small', 'Medium','Large']
while True:
    print('Types: '+ types)
    choice = raw_input('Choose a type. ').capitalize()
    if choice in types:
        #choice = choice  this is superfluos
        break
     #else: no need for else since the loop will execute again and do exactly this
     #    choice = raw_input('Choose a type. ').capitalize()

最终会出现类似:

types = ['Small', 'Medium','Large']
while True:
    print('Types: '+ types)
    choice = raw_input('Choose a type. ').capitalize()
    if choice in types:
        break

注意:如果您不想在Types移出循环时重复print

types = ['Small', 'Medium','Large']
print('Types: '+ types)
while True:
    ...

此外,您的代码与特定的Python版本不一致,您可以使用raw_input()print()括号但不混合(除非您执行__future__次导入)。< / p>