Python 当循环在第一个嵌套问题后中断时
我正在努力让我的程序运行起来。这是一个数字猜测游戏,用户输入他们的名字,然后程序生成一个数字1-100。从那里他们必须猜测数字,程序告诉他们数字是高还是低 如果用户成功猜出了数字,他们可以选择再次播放。我已经对它进行了编程,但在输入第一个数字后它就断了。知道我哪里出错了吗Python 当循环在第一个嵌套问题后中断时,python,while-loop,nested,Python,While Loop,Nested,我正在努力让我的程序运行起来。这是一个数字猜测游戏,用户输入他们的名字,然后程序生成一个数字1-100。从那里他们必须猜测数字,程序告诉他们数字是高还是低 如果用户成功猜出了数字,他们可以选择再次播放。我已经对它进行了编程,但在输入第一个数字后它就断了。知道我哪里出错了吗 import random #importing the randoms #getting the name from the user message=("What is your name?") nam
import random
#importing the randoms
#getting the name from the user
message=("What is your name?")
name=input(message)
#challange message from user
print("Hello! ", name,"I have a number from 1 to 100! It is your job to try and guess it!")
gamestat=False
while gamestat==False:
#generate number
number = random.randint(1,101)
#start the game
guess = int(input("start to guess: "))
#GAME LOGIC
num_guesses = 1
while guess != number:
if guess > number:
print("lower")
guess = int(input("try again: "))
num_guesses +=1
if guess < number:
print ("higher")
guess = int(input("start to guess: "))
num_guesses +=1
print("congrats it took you", num_guesses, "tries")
message=("Would you like to play again? (yes or no)")
result=input(message)
if result == "no":
gamestat= True
随机导入
#导入随机数
#从用户处获取名称
message=(“你叫什么名字?”)
名称=输入(消息)
#来自用户的challange消息
打印(“你好!”,姓名,“我有一个从1到100的数字!你的工作就是试着猜它!”)
gamestat=False
当gamestat==False时:
#生成编号
number=random.randint(1101)
#开始比赛
guess=int(输入(“开始猜测:”)
#博弈逻辑
num_猜测=1
猜猜看!=编号:
如果猜测>数字:
打印(“下”)
guess=int(输入(“重试:”)
num_猜测+=1
如果猜测<数字:
打印(“更高”)
guess=int(输入(“开始猜测:”)
num_猜测+=1
打印(“恭喜你”,num_猜测,“尝试”)
message=(“您想再次播放吗?(是或否)”)
结果=输入(消息)
如果结果=“否”:
gamestat=True
正如前面提到的,这是一个缩进问题
if guess < number:
print ("higher")
guess = int(input("start to guess: "))
num_guesses +=1
程序缩进不正确。试用
import random
#importing the randoms
#getting the name from the user
message=("What is your name?")
name=input(message)
#challange message from user
print("Hello! ", name,"I have a number from 1 to 100! It is your job to try and guess it!")
gamestat=False
while gamestat==False:
#generate number
number = random.randint(1,101)
#start the game
guess = int(input("start to guess: "))
#GAME LOGIC
num_guesses = 1
while guess != number:
if guess > number:
print("lower")
guess = int(input("try again: "))
num_guesses +=1
if guess < number:
print ("higher")
guess = int(input("start to guess: "))
num_guesses +=1
print("congrats it took you", num_guesses, "tries")
message=("Would you like to play again? (yes or no)")
result=input(message)
if result == "no":
gamestat= True
随机导入
#导入随机数
#从用户处获取名称
message=(“你叫什么名字?”)
名称=输入(消息)
#来自用户的challange消息
打印(“你好!”,姓名,“我有一个从1到100的数字!你的工作就是试着猜它!”)
gamestat=False
当gamestat==False时:
#生成编号
number=random.randint(1101)
#开始比赛
guess=int(输入(“开始猜测:”)
#博弈逻辑
num_猜测=1
猜猜看!=编号:
如果猜测>数字:
打印(“下”)
guess=int(输入(“重试:”)
num_猜测+=1
如果猜测<数字:
打印(“更高”)
guess=int(输入(“开始猜测:”)
num_猜测+=1
打印(“恭喜你”,num_猜测,“尝试”)
message=(“您想再次播放吗?(是或否)”)
结果=输入(消息)
如果结果=“否”:
gamestat=True
快乐编码 这是经过细微修改后的代码 一个是正确指出的缩进问题。除此之外,在guess<数字块中,消息开始猜测,这与上面的不一致,可能导致歧义。还可以删除if块外部的公共零件
import random
# importing the randoms
# getting the name from the user
message = ("What is your name?")
name = input(message)
# challange message from user
print("Hello! ", name, "I have a number from 1 to 100! It is your job to try and guess it!")
gamestat = False
while not gamestat:
# generate number
number = random.randint(1, 101)
# start the game
guess = int(input("start to guess: "))
# GAME LOGIC
num_guesses = 1
while guess != number:
if guess > number:
print("lower")
if guess < number:
print("higher")
guess = int(input("try again: "))
num_guesses += 1
if number == guess:
print("congrats it took you", num_guesses, "tries")
message = ("Would you like to play again? (yes or no)")
result = input(message)
if result == "no":
gamestat = True
随机导入
#导入随机数
#从用户处获取名称
message=(“你叫什么名字?”)
名称=输入(消息)
#来自用户的challange消息
打印(“你好!”,姓名,“我有一个从1到100的数字!你的工作就是试着猜它!”)
gamestat=False
虽然不是gamestat:
#生成编号
number=random.randint(1101)
#开始比赛
guess=int(输入(“开始猜测:”)
#博弈逻辑
num_猜测=1
猜猜看!=编号:
如果猜测>数字:
打印(“下”)
如果猜测<数字:
打印(“更高”)
guess=int(输入(“重试:”)
num_猜测+=1
如果数字==猜测:
打印(“恭喜你”,num_猜测,“尝试”)
message=(“您想再次播放吗?(是或否)”)
结果=输入(消息)
如果结果=“否”:
gamestat=True
我认为这可能是因为缩进问题。一旦我确保每个块上的压痕都是均匀的,它就对我起了作用。缩进在Python中非常重要。
import random
# importing the randoms
# getting the name from the user
message = ("What is your name?")
name = input(message)
# challange message from user
print("Hello! ", name, "I have a number from 1 to 100! It is your job to try and guess it!")
gamestat = False
while not gamestat:
# generate number
number = random.randint(1, 101)
# start the game
guess = int(input("start to guess: "))
# GAME LOGIC
num_guesses = 1
while guess != number:
if guess > number:
print("lower")
if guess < number:
print("higher")
guess = int(input("try again: "))
num_guesses += 1
if number == guess:
print("congrats it took you", num_guesses, "tries")
message = ("Would you like to play again? (yes or no)")
result = input(message)
if result == "no":
gamestat = True