Python 我应该在哪里为我的猜谜游戏设置if函数?

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

现在,我正在为绝对初学者编写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 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是的,你是对的,我可以重拍。但是在这样一个小游戏中,它应该会导致任何性能损失。我不是在谈论性能(我认为没有区别),我只是在谈论代码的易读性。