繁体   English   中英

如何在 python 中退出这个循环

[英]how to exit this loop in python

为什么 break 不起作用? 我希望代码在我单击特定键时停止

import keyboard


def loop():
    x = 1
    while True:
        print(x)
        x = x+1


while True:
    if keyboard.is_pressed('q'):
        print("q pressed")
        break
    loop()

这是因为你在 function loop() 中。 循环中没有 break 语句。 也许试试这个?

import keyboard


def loop():
    x = 1
    while True:
        print(x)
        x = x+1
        if keyboard.is_pressed('q'):
            print("q pressed")
            break
    

      
loop()

这是因为 break 不在循环(函数)内,为了解决这个问题,我们将条件放在所需的循环内。

import keyboard


def loop():
    x = 1
    while True:
        if keyboard.is_pressed('q'):
            print("q pressed")
            break
        print(x)
        x = x+1


while True:
    loop()

我认为第二个循环是必要的,不关闭程序。

在这里,您只需进行 1 处更改即可简单地解决错误。

当您调用loop() function 时,只需删除最后的 while True 命令。这是唯一导致问题的原因。

import keyboard
    
    def loop():
        x = 1
        while True:
            if keyboard.is_pressed("q"):
                print("\n q pressed")
                break
            print(x)
            x = x+1
    
    loop()

仅供参考:如果您希望计数减慢,您可以添加一些延迟。 为此,您将必须导入时间库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM