Python While循环,if-else语句:猜猜我的数字游戏

Python While循环,if-else语句:猜猜我的数字游戏,python,if-statement,while-loop,Python,If Statement,While Loop,我是python的初学者,正在编写一个“猜我的数字游戏”。到目前为止,我一切正常。计算机选择一个介于1和3之间的随机数,并让玩家猜这个数。如果猜测值高于随机数,程序将打印“Lower”,反之亦然。玩家只有5次尝试,当尝试结束时,玩家收到一条消息,游戏结束。如果玩家猜对了,他们将受到祝贺,游戏结束。然而,有时当数字猜对时,程序不会打印祝贺信息,我也不明白为什么 import random print("\tWelcome to 'Guess My Number'!:") print("\nI'm

我是python的初学者,正在编写一个“猜我的数字游戏”。到目前为止,我一切正常。计算机选择一个介于1和3之间的随机数,并让玩家猜这个数。如果猜测值高于随机数,程序将打印“Lower”,反之亦然。玩家只有5次尝试,当尝试结束时,玩家收到一条消息,游戏结束。如果玩家猜对了,他们将受到祝贺,游戏结束。然而,有时当数字猜对时,程序不会打印祝贺信息,我也不明白为什么

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")
随机导入
打印(“\tWelcome to‘猜我的号码’!:”)
打印(“\n我想到一个介于1和100之间的数字。”)
打印(“仔细猜测,您只有5次尝试!\n”)
#设置初始值
_数=random.randint(1,3)
guess=int(输入(“进行猜测:”)
尝试=1
猜测=4
#猜测循环
猜猜看!=电话号码:
如果guess>_编号:
打印(“下…”)

elif猜测假设其他一切正常,取消最后检查的缩进。当它不相等时,您不能检查
guess==_数

#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")

如果您在第一次尝试中猜到了数字,那么该程序将需要再次猜测

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
the_number=random.randint(1,3)
尝试=0
猜测=5
#猜测循环
猜测=无
猜猜看!=电话号码:
guess=int(输入(“进行猜测:”)
尝试次数+=1
猜测-=1
如果guess>_编号:
打印(“下…”)
elif guess<_编号:
打印(“更高…”)
如果guess==_数:
打印(“你猜对了!数字是”,数字是)
打印(“而且只花了你”,尝试,“尝试!\n”)

如果猜测来回答您最初关于没有正确数字的祝贺消息的问题,请使用input()结束代码,以确保它不会在显示最后一条消息之前终止

计算顺序:

  • 猜测输入
  • 减少猜测(从5开始),增加尝试次数(从1开始)
  • 猜测=0时立即中断
  • 评估猜测(更低、更高或相等,循环时结束)
  • 随机导入
    打印(“\tWelcome to‘猜我的号码’!:”)
    打印(“\n我想到一个介于1和3之间的数字。”)
    打印(“仔细猜测,您只有5次尝试!\n”)
    #设置初始值
    _数=random.randint(1,3)
    guess=int(输入(“进行猜测:”)
    尝试=1
    猜测=5
    #猜测循环
    猜猜看!=电话号码:
    尝试次数+=1
    猜测-=1
    如果猜测==0:
    打印(“对不起,你猜不到了!再试一次…”)
    打破
    elif guess>_编号:
    打印(“下…”)
    elif guess<_编号:
    打印(“更高…”)
    guess=int(输入(“进行猜测:”)
    如果guess==_数:
    打印(“你猜对了!数字是”,数字是)
    打印(“而且只花了你”,尝试,“尝试!\n”)
    
    input()
    如果guess==编号在while循环中。。。这永远不会是真的啊。。。当然非常感谢。仍然需要
    if
    ,因为循环可能会由于猜测不足而结束。