陷于错误之间

2024-03-28 22:56:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个绝对的初学者和练习这个项目“猜数字”我已经写了下面的代码,想知道我犯了什么样的错误。你知道吗

import random
guess_count = 3
number = random.randint(1, 9)

while guess_count > 0:
    guess = int(input("Guess: "))
    guess_count -= 1


    if guess == number:
        print("Congrats You Won!")
        guess_count = 0
    else:
        print("You Lose, Better luck next time.")
        print('')
        print(f"The correct number was {number}.")

结果是

Guess: 2
You Lose, Better luck next time.

The correct number was 6.
Guess:  6
Congrats You Won!

故障预期输出:

  Guess: 3
  Guess: 4
  Guess: 5
You Lose, Better luck next time.

Tags: theyounumbertimecountrandomnextprint
3条回答

当猜测正确时,使用break结束循环。你知道吗

else:块放在while循环上。如果循环结束时没有break,则会执行它,这是在循环没有猜测时发生的。你知道吗

import random
guess_count = 3
number = random.randint(1, 9)

while guess_count > 0:
    guess = int(input("Guess: "))
    guess_count -= 1

    if guess == number:
        print("Congrats You Won!")
        break
else:
    print("You Lose, Better luck next time.")
    print('')
    print(f"The correct number was {number}.")

另一种格式化问题的方法是使用for循环:

import random

guess_count = 3
number = random.randint(1, 9)

for x in range(0, guess_count):
    guess = int(input("Guess: "))

    if guess == number:
        print("Congrats You Won!")
        break # exit loop
    else:
        print("You Lose, Better luck next time.")
        print('')

        if x == guess_count - 1:
            print(f"The correct number was {number}.")

随机导入 猜测计数=3 数量=随机.randint(1,9)

while guess_count > 0:
    guess = int(input("Guess: "))
    guess_count -= 1


    if guess == number:
        print("Congrats You Won!")
        guess_count = 0
    else:
        print("You Lose, Better luck next time.")
        print('')
        print("The correct number was ", number , " .")

相关问题 更多 >