我正在尝试做一个菜单,这很简单,但是我不明白为什么永远都不会结束循环,所以附上我的代码:
def main():
menu_bool = False
while(menu_bool == False):
print("Menu:\n\t1. Copiar")
x = input()
if x == 1:
print("You have selected option 1.")
menu_bool = True
# Ejecutamos la función main
if __name__ == '__main__':
main()
为什么当我按“ 1”时再次要求我选择一个选项?我已经声明了一个用于停止它的布尔变量menu_bool = True
,但是我不知道为什么我的主要功能在循环中。
我尝试做global variable
,但是它也不起作用。然后,这意味着我的menu_bool = True
从未完成,但我不明白为什么。
menu_bool = False
def main():
global menu_bool
while(menu_bool == False):
print("Menu:\n\t1. Copiar")
x = input()
if x == 1:
print("You have selected option 1.")
menu_bool = True
# Ejecutamos la función main
if __name__ == '__main__':
main()
非常感谢您!
答案 0 :(得分:1)
正如其他人所说,基本上,您是将字符串与整数进行比较。另外,我建议对布尔对象使用一些pythony,在这种情况下,请使用not
而不是通过比较运算符进行显式比较。
def main():
menu_bool = False
while(not menu_bool):
print("Menu:\n\t1. Copiar")
x = input()
if x == '1':
print("You have selected option 1.")
menu_bool = True