我如何阻止它重复?

How do I stop this from repeating?

我是编码新手。在您猜到一个数字之前,它可以正常工作。然后它说永远更高或更低。请帮助我了解我做错了什么。我曾尝试搜索互联网并尝试重新输入一些代码,但它不起作用。我正在尝试进行对话以及迷你猜数字游戏。

这是我的代码

# Conversation A

import random

print("Answer all questions with 'yes' or 'no' and press ENTER")   

print('Hello I am Jim the computer')   
z = input('How are you? ')    
if z == 'Good' or z == 'Great' or z == 'good' or z == 'great':    
    print("That's great!")    
else:    
    print("Oh. That's sad. I hope you feel better.")    
a = input("what's your name? ")    
print(a + "? Thats a nice name.")    
b = input('Do you own any pets? ')    
if b == 'yes' or b == 'Yes':    
    print("That's cool. I love pets!")    
else:    
    print("That's a shame, you should get a pet. ")    
c = input("Do you like animals? ")    
if c == 'yes' or c == 'Yes':
    print("Great! Me too!")
else:
    print("Oh that's sad. They're really cute. ")

d = input("Do you want to see a magic trick? ")
if d == "yes" or d == "Yes":
    input("Ok! Think of a number between 1-30. Do you have it? ")
    print("Double that number.")
    print("Add ten.")
    print("Now divide by 2...")
    print("And subtract your original number!")
    y = input("Was your answer 5? ")
    if y == 'yes' or y == 'Yes':
        print("Yay i got it right! I hope you like my magic trick.")
    else:
        print("Oh that's sad. I'll work on it. I really like magic tricks and games.")
else:
    print("Ok. Maybe next time. I love magic tricks and games!")

e = input("Do you want to play a game with me? ")
if e == "yes" or e == "Yes":
    randnum = random.randint(1,100)
    print("I am thinking of a number between 1 and 100...")

if e == 'no' or e == 'No':
    print("oh well see you next time" + a + '.')

guess = int(input())

while guess is not randnum:
    if guess == randnum:
        print("Nice guess " + a + "! Bye, have a nice day!")
    if guess < randnum:
        print("Higher.")
    if guess > randnum:
        print("Lower.")

当你想停止循环时,你需要添加一个 break 语句,并将 input for guess 移动到循环内,这样你就不会在打印语句之前退出:

while True:
    guess = int(input())
    if guess == randnum:
        print("Nice guess " + a + "! Bye, have a nice day!")
        break

编辑:此外,您不想每次都使用 isIs there a difference between "==" and "is"?