虽然循环,if-else语句:猜我的号码游戏
我是一个初学者使用python,并正在写一个“猜我的号码游戏”。到目前为止,我有一切正常工作。计算机从1到3之间选取一个随机数,并要求玩家猜测数字。如果猜测高于随机数,程序打印“下”,反之亦然。玩家只有5次尝试,当玩家用完时,玩家会收到一条消息,游戏结束。如果玩家猜对了,他们会被祝贺,游戏结束。但是,有时当数猜中,程序不打印贺电,我想不通为什么...虽然循环,if-else语句:猜我的号码游戏
import random
print("\tWelcome to 'Guess My Number'!:")
print("\nI'm thinking of a numer between 1 and 100.")
print("Guess carefully, you only have 5 tries!.\n")
#sets initial values
the_number = random.randint(1,3)
guess = int(input("Take a guess: "))
tries = 1
guesses = 4
#guessing loop
while guess != the_number:
if guess > the_number:
print("Lower...")
elif guesses <= 0:
print("Sorry, you're out of guesses! Try again...")
break
elif guess < the_number:
print("Higher...")
guess = int(input("Take a guess: "))
tries += 1
guesses -= 1
if guess == the_number:
print("You guessed it! The number was", the_number)
print("And it only took you", tries, "tries!\n")
假定其他一切作品,取消缩进的最后检查。您不能检查guess == the_number
趁其不等于
#guessing loop
while guess != the_number:
# do logic
# outside guessing loop
if guesses > 0:
print("You guessed it! The number was", the_number)
print("And it only took you", tries, "tries!\n")
'if'仍然需要,因为循环可能会由于猜测用完而结束。 – Barmar
是的,公平点。 –
如果你想在你的第一次尝试的数量,程序将需要另一种猜测仍然因为
guess = int(input("Take a guess: "))
tries += 1
guesses -= 1
来
if guess == the_number:
print("You guessed it! The number was", the_number)
print("And it only took you", tries, "tries!\n")
前
当你已经要求在循环之外进行猜测时。你应该只要求输入回路内:
the_number = random.randint(1,3)
tries = 0
guesses = 5
#guessing loop
guess = None
while guess != the_number:
guess = int(input("Take a guess: "))
tries += 1
guesses -= 1
if guess > the_number:
print("Lower...")
elif guess < the_number:
print("Higher...")
if guess == the_number:
print("You guessed it! The number was", the_number)
print("And it only took you", tries, "tries!\n")
if guesses <= 0:
print("Sorry, you're out of guesses! Try again...")
break
要回答你的是,缺乏贺电的正确数量的原题,结束与输入(代码),以确保它不显示上次之前终止信息。
订单计算的:
- 给输入猜
- 减小猜测(开始于5),增加的尝试(从1开始)
- 即时断裂如果猜测== 0
- 评估猜测(更低,更高或相等,其将在循环结束时)
import random
print("\tWelcome to 'Guess My Number'!:")
print("\nI'm thinking of a numer between 1 and 3.")
print("Guess carefully, you only have 5 tries!.\n")
#sets initial values
the_number = random.randint(1,3)
guess = int(input("Take a guess: "))
tries = 1
guesses = 5
#guessing loop
while guess != the_number:
tries += 1
guesses -= 1
if guesses == 0:
print("Sorry, you're out of guesses! Try again...")
break
elif guess > the_number:
print("Lower...")
elif guess < the_number:
print("Higher...")
guess = int(input("Take a guess: "))
if guess == the_number:
print("You guessed it! The number was", the_number)
print("And it only took you", tries, "tries!\n")
input()
'如果guess == the_number'在while循环中......它永远不会是真的 –
啊......当然。谢谢! –