当我为例如选择1时,代码“执行某些操作”,但不会再次重复该菜单。相反,它显示“1”。为什么?我该如何解决这个问题?使用while循环进行迭代 - python
menu = input('1. \n 2. \n')
choice = input(menu)
while choice in ['1', '2']:
print(input(menu))
if choice == 1:
#do something
elif choice == 2:
#do something
else:
break
您在['1','2']中有'while choice':...'对于这种情况永远是'True','choice'必须是一个字符串。然而,在循环体内,你正在比较'choice == 1',它将选择与一个整数进行比较,因此它将不会执行... – mgilson 2014-11-05 06:20:52
它更好地使用'raw_input'而不是'input'。所以你应该使用'int(raw_input(something here))'。 – 2014-11-05 06:33:13
多个问题: *您可以在整个地方调用输入,让菜单为字符串,然后在需要输入时调用menu() *在while语句中,与字符串进行比较,但在输入上输入runns eval,一个int – 2014-11-05 06:33:15