当前位置: 首页 > 知识库问答 >
问题:

停止Python While语句中的无限循环

章锦
2023-03-14

我正在开发一个简单的python程序,其中包括创建一个圆圈“按钮”,然后让用户在圆圈内单击。如果他们没有点击圆圈,会出现一条消息,说明他们在圆圈外点击,应该再试一次。然而,在最后一部分,我得到了一个关于代码的无休止的循环,尽管使用了中断。是否有任何人可以帮助查看是否存在错误?谢谢

r = 75

while True:
    # to determine if click is within circle
    length = math.sqrt(((x-100)**2) +((y-250)**2)) 
    if length == r or length < r: 
        break 
    # prints if user does not click within the range
    print("Please click within the spin button") 

共有3个答案

刁跃
2023-03-14
r = 75
while True:
    # to determine if click is within circle
    length = math.sqrt(((x-100)**2) +((y-250)**2)) 
    if length == r or length < r: 
        break 
    else:
    # prints if user does not click within the range
    print("Please click within the spin button")

您的代码是正确的,只需要else语句。当if语句为false时,else语句将运行。所以这里假设if语句是正确的,那么代码就会中断,但是当if语句是false时,代码会转到else语句并打印,请单击spin按钮。

非常感谢。

岳俊晖
2023-03-14

如果你想对点击做出反应,你通常会使用某种图形用户界面框架,TKinter,GTK,QT,wx类似的东西,或者是围绕着PythonCard的包装器。使用is可以将事件(如单击元素)连接到应该包含代码的方法。这样,代码不会在循环中运行,而是仅在单击发生时运行。实际的代码在很大程度上取决于您选择的GUI框架,但是您没有提供任何相关信息。

赵佐
2023-03-14

xywhile循环中永远不会更新,因此如果它们在第一次迭代中不在您的循环范围内,length将始终保持相同的值(大于r),并且将永远不会执行break语句。

此外,如果长度为,则使用

 类似资料:
  • 启动无限循环后,我无法关闭JFrame。 我想停止无限循环使用停止按钮。 我用开始按钮开始一个无限循环。我想用“停止”按钮关闭那个回路。 > if(stop.getModel(). isP的()){中断;}不工作 actionListener用于识别按钮单击并在循环也不起作用时使用中断语句终止 点击停止按钮,无限循环必须终止。在使用start Button启动无限循环后,我无法使用JFrame中的

  • 问题内容: 有没有一种方法可以停止执行无限循环的线程? 问题答案: 是的,您可以将替换(或在逻辑上)。 这样,当任务取消时,循环将终止。 循环看起来像这样: 使用应该是这样的:

  • 我正在尝试做一个数字猜测游戏,如果用户匹配他们赢得现金的幸运数字,游戏将继续进行,直到他们用完现金。他们每打一轮都要付赌注。每一轮都会产生一个新的随机数。 我只想使用一个输入。当我把输入放在循环中,循环无限停止循环,当我把它放在循环外,它无限开始循环。我该怎么阻止这一切?我需要向while循环添加什么?我尝试突破,但我想继续比赛,直到钱用完。 我只想使用一个输入,但是当我把输入带出循环(lucky

  • 不知道如何阻止这个while循环无限重复。我使用检查用户输入是否为int。如果没有输入int值,则循环将无限重复。

  • 问题内容: 我有一个运行在无限循环上的脚本,并将其添加到数据库中,并且执行了一些我不能只停止一半的事情,所以我不能只按ctrl + C并停止它。 我希望能够以某种方式停止while循环,但是让它在停止之前完成最后一次迭代。 让我澄清一下: 我的代码看起来像这样: 我希望能够在结束或开始时中断while循环,但不要在执行操作之间中断,因为那样会很不好。 而且我不希望它在每次迭代后问我是否要继续。 感

  • 我目前正在处理Eclipse中的一些Java代码,并试图在do-time语句中使用try捕获语句。我目前的代码如下: 当我输入任何数字时,代码工作正常,并将循环请求另一个输入,当输入10时,代码按预期停止(因为猜测值等于rand)。但是,如果我输入任何非整数的内容(例如“否”),则会出现一个无限循环,其中输出打印以下内容: "你的猜测必须是整数" “输入您的猜测:您的猜测必须是整数。” “输入您的