猜谜游戏(Python)问题。完全初学者

猜谜游戏(Python)问题。完全初学者,python,Python,我有几天的Python知识。我一直在学习Codecademy之类的课程,我想投入一个项目。在这个项目开始时,我跟踪了一段YouTube视频,以了解其中的诀窍 我的游戏会问它是否想玩,如果“是”,它会继续玩。如果“否”,程序将停止。我不知道如何改变它,让它继续播放 当循环出现时,程序也不会在之后显示该数字大于或小于。最初,我在while循环之后有一段代码,但没有什么区别 我只是一个希望通过实际项目更好地学习Python的初学者,所以我真的不确定在这里应该采取哪些步骤: import random

我有几天的Python知识。我一直在学习Codecademy之类的课程,我想投入一个项目。在这个项目开始时,我跟踪了一段YouTube视频,以了解其中的诀窍

我的游戏会问它是否想玩,如果“是”,它会继续玩。如果“否”,程序将停止。我不知道如何改变它,让它继续播放

当循环出现时,程序也不会在
之后显示该数字大于或小于。最初,我在
while
循环之后有一段代码,但没有什么区别

我只是一个希望通过实际项目更好地学习Python的初学者,所以我真的不确定在这里应该采取哪些步骤:

import random

number = random.randint(1,10)
tries = 1

name = input("Hello, What is your name?")

print("Hello there,", name)

question = input("Time to guess, ready? [Y/N]")
if question == "n":
    print("sorry, lets go!")

if question == "y":
    print("Im thinking of a number between 1 and 10.")
    guess = int(input("Have a guess"))

    if guess < number:
        print("That is too low!")
    if guess == number:
        print("Congrats! You win!!")
    if guess > number:
        print("That is too high!")
while guess != number:
        tries += 1
        guess = int(input("Try again: "))

消息“过高”永远不会显示。

if语句可能会进入while循环

您可以使用break语句终止while循环


您可以在此处找到更多详细信息:

使用
elif
非连续
if
语句。将
while
循环更改为允许
中断
输出,以便显示正确的win消息

import random

number = random.randint(1,10)
tries = 1

name = input("Hello, What is your name?")

print("Hello there,", name)

question = input("Time to guess, ready? [Y/N]")
if question == "n":
    print("sorry, lets go!")

if question == "y":
    print("Im thinking of a number between 1 and 10.")
    guess = int(input("Have a guess"))

while True:
    if guess < number:
        print("That is too low!")
    elif guess == number:
        print("Congrats! You win!!")
        break
    elif guess > number:
        print("That is too high!")
    tries += 1
    guess = int(input("Try again: "))
随机导入
number=random.randint(1,10)
尝试=1
name=input(“你好,你叫什么名字?”)
打印(“你好,”,姓名)
问题=输入(“猜测时间,准备好了吗?[Y/N]”)
如果问题==“n”:
打印(“对不起,我们走吧!”)
如果问题==“y”:
打印(“我想到一个介于1和10之间的数字。”)
guess=int(输入(“有一个猜测”))
尽管如此:
如果猜测<数字:
打印(“太低了!”)
elif guess==数字:
打印(“恭喜!你赢了!!”)
打破
elif guess>数字:
打印(“太高了!”)
尝试次数+=1
guess=int(输入(“重试:”)

我支持@furas,因为它实际上应该是一对嵌套的
,而
循环的结构类似于:

import random

name = input("Hello, What is your name? ")

print("Hello there,", name)

answer = "y"

while answer.lower().startswith("y"):
    number = random.randint(1, 10)

    print("I'm thinking of a number between 1 and 10.")
    guess = int(input("Have a guess: "))

    while True:
        if guess < number:
            print("That is too low!")
        elif guess > number:
            print("That is too high!")
        else:
            print("Congrats! You win!")
            break

        guess = int(input("Try again: "))

    answer = input("Play again? [Y/N]: ")

print("Goodbye!")
随机导入
name=input(“你好,你叫什么名字?”)
打印(“你好,”,姓名)
回答=“y”
而answer.lower().startswith(“y”):
number=random.randint(1,10)
打印(“我想的是一个介于1和10之间的数字。”)
guess=int(输入(“有一个猜测:”)
尽管如此:
如果猜测<数字:
打印(“太低了!”)
elif guess>数字:
打印(“太高了!”)
其他:
打印(“恭喜!你赢了!”)
打破
guess=int(输入(“重试:”)
回答=输入(“再次播放?[Y/N]:”)
打印(“再见!”)

在循环时将代码放入另一个
中,当你猜到数字后,它会再次运行。我如何做才能让用户在开始时说“不”,游戏会说“对不起”,并让他们猜。感谢您提供的if和elif提示。然后只需删除对
问题
变量的检查,然后继续循环。。。
import random

name = input("Hello, What is your name? ")

print("Hello there,", name)

answer = "y"

while answer.lower().startswith("y"):
    number = random.randint(1, 10)

    print("I'm thinking of a number between 1 and 10.")
    guess = int(input("Have a guess: "))

    while True:
        if guess < number:
            print("That is too low!")
        elif guess > number:
            print("That is too high!")
        else:
            print("Congrats! You win!")
            break

        guess = int(input("Try again: "))

    answer = input("Play again? [Y/N]: ")

print("Goodbye!")