Python 我应该在哪里为我的猜谜游戏设置if函数?
现在,我正在为绝对初学者编写Python一书的第3章 第三章末尾的挑战之一是“修改猜我的数字游戏,使玩家的猜测数量有限”,如果玩家未能获得正确的猜测数量,则应显示一条消息 代码如下所示:Python 我应该在哪里为我的猜谜游戏设置if函数?,python,if-statement,variables,Python,If Statement,Variables,现在,我正在为绝对初学者编写Python一书的第3章 第三章末尾的挑战之一是“修改猜我的数字游戏,使玩家的猜测数量有限”,如果玩家未能获得正确的猜测数量,则应显示一条消息 代码如下所示: # Guess My Number # The computer picks a random number between 1 and 100 # The player tries to guess it and the computer lets # the player know if the guess
# Guess My Number
# The computer picks a random number between 1 and 100
# The player tries to guess it and the computer lets
# the player know if the guess is too high, too low
# or right on the money
import random
print("\tWelcome to 'Guess My Number'!")
print("\nI'm thinking of a number between 1 and 100.")
print("Try to guess it in as few attempts as possible.\n")
# set the initial values
the_number = random.randint(1, 100)
guess = int(input("Take a guess: "))
tries = 1
# guessing loop
while guess != the_number:
if guess > the_number:
print("Lower...")
else:
print("Higher...")
guess = int(input("Take a guess: "))
tries += 1
print("You guessed it! The number was", the_number)
print("And it only took you", tries, "tries!\n")
input("\n\nPress the enter key to exit.")
if tries>3:
print("Game Over")
break()
从目前为止我所看到的情况来看,我需要添加一个变量来计算一个玩家有多少生命,这个变量在开始时设置为一个数量,比如10,并且应该使用一个if命令来确保当玩家使用他们所有的生命时,消息会显示出来
但是,我不确定在现有代码中的何处放置if命令。在您说
trys+=1
之后,放置if语句。您的代码应该如下所示:
# Guess My Number
# The computer picks a random number between 1 and 100
# The player tries to guess it and the computer lets
# the player know if the guess is too high, too low
# or right on the money
import random
print("\tWelcome to 'Guess My Number'!")
print("\nI'm thinking of a number between 1 and 100.")
print("Try to guess it in as few attempts as possible.\n")
# set the initial values
the_number = random.randint(1, 100)
guess = int(input("Take a guess: "))
tries = 1
# guessing loop
while guess != the_number:
if guess > the_number:
print("Lower...")
else:
print("Higher...")
guess = int(input("Take a guess: "))
tries += 1
print("You guessed it! The number was", the_number)
print("And it only took you", tries, "tries!\n")
input("\n\nPress the enter key to exit.")
if tries>3:
print("Game Over")
break()
好吧,如果我是你,我会做一个游戏循环而不是猜测循环。然后,当我达到猜测极限时,我就会打破游戏循环。但是,如果你想保留你的代码,你可以使用这个
while guess != the_number:
if tries == 3: # Replace 3 with the limit you'd like to use
print("You lost :(")
exit()
else:
if guess > the_number:
print("Lower...")
else:
print("Higher...")
guess = int(input("Take a guess: "))
tries += 1
另外,在您的情况下,不要使用break,它仍然会导致打印最终获胜的消息
(间距可能有点小,因此您可能需要修复它)import random
打印(“\tWelcome to‘猜我的号码’!”)
打印(“\n我想到的是一个介于1和100之间的数字。”)
打印(“尽可能少地尝试猜测它。\n”)
#设置初始值
_数=random.randint(1100)
guess=int(输入(“进行猜测:”)
尝试=1
而<8:
如果guess==_数:
打印(“你猜对了!数字是”,数字是)
打印(“而且只花了你”,尝试,“尝试!\n”)
打破
elif guess>_编号:
打印(“下…”)
其他:
打印(“更高…”)
guess=int(输入(“进行猜测:”)
尝试次数+=1
如果尝试==8:
打印(“你猜不到我的号码”)
输入(“\n\n按enter键退出。”)
你也可以这样做是的,我会编辑我的代码如果我的答案对你有帮助,请标记绿色复选标记和upvote,这样它可以帮助社区。对不起,我删除了我关于break的评论(顺便说一下,这是一个声明,不是一个函数),因为我意识到这是不够的-首先,即使你的最后一次猜测是正确的,你也可以通过信息获得一个游戏;其次,即使你没有,你也会得到一条“你猜对了!”的信息,请你投票支持我的答案好吗?我试图达到15点。就个人而言,我觉得有点奇怪,当尝试没有被超过时,一些代码在else中,而另一些则没有-我会将代码移出else块,这样你就剩下了一个守卫子句。我想这会更清楚,虽然很明显这是主观的。@Spoonmiser是的,你是对的,我可以重拍。但是在这样一个小游戏中,它应该会导致任何性能损失。我不是在谈论性能(我认为没有区别),我只是在谈论代码的易读性。