当前位置: 代码迷 >> python >> 从列表中选择的最佳方法
  详细解决方案

从列表中选择的最佳方法

热度:106   发布时间:2023-07-16 09:43:20.0

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

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()

我在想这个循环是否有更小更干净的版本。 尝试除版本外。 这是最好的书写方式吗? 备择方案?

有任何想法吗?

没有多余代码的情况相同:

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

几行是不必要的,我将对其进行评论:

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__导入)。

  相关解决方案