Python For循环在达到条件之前结束

Python For循环在达到条件之前结束,python,Python,我正在尝试做一个数字猜测游戏,游戏规则是,你可以猜10次来找到随机生成的数字。它将显示您的猜测是否过高/过低,如果正确,程序将结束。但出于某种原因,尽管我猜错了,程序还是结束了。如果有人能解决我的问题,我们将不胜感激 import random rand = random.randint(1,100) guesses = 0 for i in range(10): guess = int(input("Guess the secret number"))

我正在尝试做一个数字猜测游戏,游戏规则是,你可以猜10次来找到随机生成的数字。它将显示您的猜测是否过高/过低,如果正确,程序将结束。但出于某种原因,尽管我猜错了,程序还是结束了。如果有人能解决我的问题,我们将不胜感激

import random  


rand = random.randint(1,100)  
guesses = 0  

for i in range(10):  
    guess = int(input("Guess the secret number"))  
    if guess > rand:  
        print("your guess is too high")  
        guesses += 1  
        print("number of guesses",guesses,"/10")  
    if guess < rand:  
        print("your guess is too low")  
        guesses +=1  
        print("number of guesses",guesses,"/10")  
    if guess == rand:  
        print("you won")  
    break
随机导入
rand=random.randint(1100)
猜测=0
对于范围(10)内的i:
guess=int(输入(“猜测密码”))
如果猜测>随机数:
打印(“您的猜测太高”)
猜测+=1
打印(“猜测次数”,猜测,/10”)
如果猜测<兰德:
打印(“您的猜测太低”)
猜测+=1
打印(“猜测次数”,猜测,/10”)
如果guess==兰德:
打印(“您赢了”)
打破

break
将直接离开循环

import random  


rand = random.randint(1,100)  
guesses = 0  

for i in range(10):  
    guess = int(input("Guess the secret number"))  
    if guess > rand:  
        print("your guess is too high")  
        guesses += 1  
        print("number of guesses",guesses,"/10")  
    if guess < rand:  
        print("your guess is too low")  
        guesses +=1  
        print("number of guesses",guesses,"/10")  
    if guess == rand:  
        print("you won")
        break # <- move break under the correct if statement
随机导入
rand=random.randint(1100)
猜测=0
对于范围(10)内的i:
guess=int(输入(“猜测密码”))
如果猜测>随机数:
打印(“您的猜测太高”)
猜测+=1
打印(“猜测次数”,猜测,/10”)
如果猜测<兰德:
打印(“您的猜测太低”)
猜测+=1
打印(“猜测次数”,猜测,/10”)
如果guess==兰德:
打印(“您赢了”)

break#
break
语句用于终止当前循环。因此,当您使用它时,它将结束当前循环,并且控制将传递给循环后面的语句

在您的例子中,由于您将
break
语句放在
for
循环的末尾,因此循环在第一次迭代中终止

因此,您所能做的就是将
break
语句放入最后一个if条件中,如下所示

随机导入
rand=random.randint(1100)
猜测=0
对于范围(10)内的i:
guess=int(输入(“猜测密码”))
如果猜测>随机数:
打印(“您的猜测太高”)
猜测+=1
打印(“猜测次数”,猜测,/10”)
如果猜测<兰德:
打印(“您的猜测太低”)
猜测+=1
打印(“猜测次数”,猜测,/10”)
如果guess==兰德:
打印(“您赢了”)
打破

那么,我该如何使它在满足条件后立即“中断”?@J.Doe如果您将答案标记为正确就好了:Dyeah当然,这是一个很大的帮助一旦我猜出了数字,我想中断循环并结束程序,您只想在
guess==rand
的情况下中断;您的缩进已关闭。我相信您缩进了
break
以进入最后一个
if
condtion@wwii触角杀手^^