首页 > 解决方案 > 虽然循环没有像 Python 中预期的那样在基本情况下终止

问题描述

在这个程序中,代码应该在 i==0 时停止,并打印“gameover”,但它并没有停止,在 i==0 之后它正在使用 i==-1,-2.. 等等。如何让它停在 I ==0。

            #no termination 
import random 
a=random.randint(0,10)
print(a)
i=5
game_over=False
num=int(input("guess the number between 0-10:\n"))
while not game_over:
    if a==num:
        print(f"congratulations {num} is correct:")
        game_over=True
    else:
        if num<a:
            print("forward")
            i-=1
            print(f"{i} choices left:\n")
            if i==0:
                print("gameover")
            else:
                num=int(input("guess again:"))
        else:
            print("backwards")
            i-=1
            print(f"{i}choices left:\n")
            if i==0:
                print("gameover")
            else:
                num=int(input("guess again:"))
                    
 
        
    
   

标签: python-3.xrandompython-requests

解决方案


break在每个之后立即添加一个print("gameover")以使其立即跳出循环。


推荐阅读