Python while循环数字猜测游戏

Python while循环数字猜测游戏,python,if-statement,while-loop,and-operator,Python,If Statement,While Loop,And Operator,对于课堂作业,我尝试做一个数字猜测游戏,在这个游戏中,用户决定答案和猜测的次数,然后在有限的圈数内猜测数字。我应该使用带and运算符的while循环,不能使用break。然而,我的问题是,我不确定如何格式化程序,以便当达到最大圈数时,程序不会打印提示(较高/较低),而只是告诉您您丢失了/答案是什么如果我选择将最大猜测次数设为1,则不会特别起作用。它不仅会打印“你输了;数字是__;”,还会打印提示。这是我最好的尝试,接近于完成这个程序应该做的一切。我做错了什么 answer = int(input

对于课堂作业,我尝试做一个数字猜测游戏,在这个游戏中,用户决定答案和猜测的次数,然后在有限的圈数内猜测数字。我应该使用带and运算符的while循环,不能使用break。然而,我的问题是,我不确定如何格式化程序,以便当达到最大圈数时,程序不会打印提示(较高/较低),而只是告诉您您丢失了/答案是什么如果我选择将最大猜测次数设为1,则不会特别起作用。它不仅会打印“你输了;数字是__;”,还会打印提示。这是我最好的尝试,接近于完成这个程序应该做的一切。我做错了什么

answer = int(input("What should the answer be? "))
guesses = int(input("How many guesses? "))

guess_count = 0
guess = int(input("Guess a number: "))
guess_count += 1
if answer < guess:
    print("The number is lower than that.")
elif answer > guess:
    print("The number is higher than that")

while guess != answer and guess_count < guesses:
    guess = int(input("Guess a number: "))
    guess_count += 1
    if answer < guess:
        print("The number is lower than that.")
    elif answer > guess:
        print("The number is higher than that")

if guess_count >= guesses and guess != answer:
    print("You lose; the number was " + str(answer) + ".")
if guess == answer:
    print("You win!")
answer=int(输入(“答案应该是什么?”)
猜测=int(输入(“多少次猜测?”)
猜测计数=0
guess=int(输入(“猜一个数字:”)
猜测计数+=1
如果答案<猜测:
打印(“数字低于该数字。”)
elif答案>猜测:
打印(“数字高于该数字”)
猜猜看!=回答和猜测\u计数<猜测:
guess=int(输入(“猜一个数字:”)
猜测计数+=1
如果答案<猜测:
打印(“数字低于该数字。”)
elif答案>猜测:
打印(“数字高于该数字”)
如果猜测_count>=猜测和猜测!=答复:
打印(“你输了;号码是”+str(答案)+”)
如果猜测==答案:
打印(“你赢了!”)

像这样的东西怎么样

answer = int(input("What should the answer be? "))
guesses = int(input("How many guesses? "))
guess_count = 1
guess_correct = False

while guess_correct is False:
    if guess_count < guesses:
        guess = int(input("Guess a number: "))
        if answer < guess:
            print("The number is lower than that.")
        elif answer > guess:
            print("The number is higher than that")
        else:  # answer == guess
            print("You win!")
            break
        guess_count += 1
    elif guess_count == guesses:
        guess = int(input("Guess a number: "))
        if guess != answer:
            print("You lose; the number was " + str(answer) + ".")
        if guess == answer:
            print("You win!")
        break
answer=int(输入(“答案应该是什么?”)
猜测=int(输入(“多少次猜测?”)
猜测计数=1
猜得对=错
虽然猜测正确是错误的:
如果猜测计数<猜测:
guess=int(输入(“猜一个数字:”)
如果答案<猜测:
打印(“数字低于该数字。”)
elif答案>猜测:
打印(“数字高于该数字”)
否则:#答案==猜测
打印(“你赢了!”)
打破
猜测计数+=1
elif guess_count==猜测:
guess=int(输入(“猜一个数字:”)
猜猜看!=答复:
打印(“你输了;号码是”+str(答案)+”)
如果猜测==答案:
打印(“你赢了!”)
打破

它与您的程序非常相似,但其中有几个
break
语句。这告诉Python立即停止该循环的执行,并转到下一个代码块(本例中没有)。这样,在开始下一个循环之前,您不必等待程序评估为
while
循环指定的条件。如果这有助于解决您的问题,那么您点击我的帖子旁边的复选标记就太好了

这对我来说似乎很好。我不明白为什么您认为这是错误的。这对我来说是可行的,我认为你是想做什么?你可以尝试将你的提示嵌套在一个最大猜测检查中,或者为每个提示添加一个and条件,要求猜测尝试数小于最大值guesses@Reedinationer更准确地说,如果我选择将最大猜测次数设为1,那么它并不特别有效。它不仅打印“You lose;number was uuuuuu”,还打印一条提示。@DaveStSomeWhere while循环(guess_count