當我爲例如選擇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