逻辑错误导致无限循环

2024-04-19 14:22:15 发布

您现在位置:Python中文网/ 问答频道 /正文

当用户输入数字0并且程序执行task0时,while循环不会像我预期的那样结束。为什么会这样?我该怎么解决?你知道吗

def task0():
    print("Goodbye")
    end = "true"
end = "false"
while end != "true":
    print()
    tasknum = input("Which task would you like to see? ")
    print()
    task = "task" + tasknum
    methodToCall = globals()[task]
    result = methodToCall()

Tags: 用户falsetruetaskinputdef数字end
1条回答
网友
1楼 · 发布于 2024-04-19 14:22:15

最好使用返回值与函数通信,而不是更改全局名称。你知道吗

另外,使用TrueFalse,不需要使用字符串比较。你知道吗

简而言之,从函数返回True,并将其分配给end

def task0():
    print("Goodbye")
    return True

end = False
while not end:
    print()
    tasknum = input("Which task would you like to see? ")
    print()
    task = "task" + tasknum
    methodToCall = globals()[task]
    end = methodToCall()

然后你检查一下,然后适当地结束。你知道吗

相关问题 更多 >