而循环菜单永无止境



我正在尝试做菜单,这很容易,但是我不明白为什么永远不会结束我的循环,我附加了我的代码:

def main():
    menu_bool = False
    while(menu_bool == False):
        print("Menu:nt1. 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:nt1. Copiar")
        x = input()
        if x == 1:
            print("You have selected option 1.")
            menu_bool = True
# Ejecutamos la función main
if __name__ == '__main__':
    main()

非常感谢!

正如其他人所说的,基本上您是在比较ints的字符串。另外,我建议您使用bools更多的pythony,在这种情况下,使用not,而不是通过比较操作员进行显式比较。

def main():
    menu_bool = False
    while(not menu_bool):
        print("Menu:nt1. Copiar")
        x = input()
        if x == '1':
            print("You have selected option 1.")
            menu_bool = True

最新更新