自动化无聊的东西"guessTheNumber"游戏无法按预期运行



这个程序应该给用户6次机会来猜测程序正在考虑的秘密数字。这个数字在1到20之间,根据你的答案给出不同的脚本。问题是,它只给我1次回答的机会,如果答案是错误的,它会告诉你正确的答案是什么(这只会在你6次猜测都失败后发生(,然后让你再次猜测。它会一直循环,直到你键入它给你的答案,然后在没有给你正确脚本的情况下停止。

我试着用每行之间或多或少的空格来重新组织代码,但似乎什么都不起作用。我甚至在它提供的链接中逐行复制了代码,以观看示例的运行,但我仍然遇到同样的问题。

# This is a guess the number game.
import random
secretNumber = random.randint(1, 20)
print("I am thinking of a number between 1 and 20.")
# Ask the player to guess 6 times.
for guessesTaken in range(1, 7):
print("Take a guess.")
guess = int(input())
if guess < secretNumber:
print("Your guess is too low.")
elif guess > secretNumber:
print("Your guess is too high.")
else:
break  # This condition is the correct guess!
if guess == secretNumber:
print("Good job! You guess my number in " + str(guessesTaken) + " guesses!")
else:
print("Nope. The number I was thinking of was " + str(secretNumber))

代码在条件语句中没有正确缩进。请参见下文。

# This is a guess the number game.
import random
secretNumber = random.randint(1, 20)
print("I am thinking of a number between 1 and 20.")
# Ask the player to guess 6 times.
for guessesTaken in range(6):
print("Take a guess.")
guess = int(input())
# This conditions should be inside the loop, as you need to check everytime.   
if guess < secretNumber:
print("Your guess is too low.")
elif guess > secretNumber:
print("Your guess is too high.")
else:
break  # This condition is the correct guess!
# This conditions are outside loop, it executes after tries are exhausted or a correct guess was made
if guess == secretNumber:
print("Good job! You guess my number in " + str(guessesTaken) + " guesses!")
else:
print("Nope. The number I was thinking of was " + str(secretNumber))

您的缩进不正确,它需要在for循环中,这样它才会被调用6次:

# Ask the player to guess 6 times.
for guessesTaken in range(1, 7):
print("Take a guess.")
guess = int(input())
if guess < secretNumber:
print("Your guess is too low.")
elif guess > secretNumber:
print("Your guess is too high.")
else:
break  # This condition is the correct guess!
if guess == secretNumber:
print("Good job! You guess my number in " + str(guessesTaken) + " guesses!")
else:
print("Nope. The number I was thinking of was " + str(secretNumber))

存在缩进问题。特别是猜测条件。

# This is a guess the number game.
import random
secretNumber = random.randint(1, 20)
print("I am thinking of a number between 1 and 20.")
# Ask the player to guess 6 times.
for guessesTaken in range(1, 7):
print("Take a guess.")
guess = int(input())
if guess < secretNumber:
print("Your guess is too low.")
elif guess > secretNumber:
print("Your guess is too high.")
else:
break  # This condition is the correct guess!
# After successful or failed guesses, show output
if guess == secretNumber:
print("Good job! You guess my number in " + str(guessesTaken) + " guesses!")
else:
print("Nope. The number I was thinking of was " + str(secretNumber))

最新更新