为什么我不能通过使用使语句为 false 的参数调用它所在的函数来停止 while 循环?



正如标题所暗示的那样,为什么我不能通过使用使while语句为false的参数调用它所在的函数来停止while循环,就像这样?

def toggleLogger(isToggled):
while isToggled: 
if(keyboard.read_key() == "esc"):
toggleLogger(False)
toggleLogger(True)

我对代码进行了一些更改,并用break替换了toggleLogger(False),这基本上解决了我的小问题,但它确实让我感到烦恼,因为它不起作用。特别是因为我没有收到任何错误。我不明白的是,启动脚本的toggleLogger(True)有效,但另一个无效。

似乎您正在设置[toggleLogger = false],但不是将布尔值设置为 false。[isToggled = false].您的代码正在检查是否isToggled == false,而不是toggleLogger

如果您在之前和之后打印toggleLoggerisToggled,您将看到差异。

尝试类似操作:isToggled = !isToggledisToggled = False

最新更新