乍一看,即使我做对了,也没有人注册

2024-05-06 01:36:02 发布

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

代码如下: 打印(“欢迎来到我的猜谜游戏,你能得到魔法数字提示吗,它在1到100之间”)

import random
Magic_number = random.randrange(1, 100)
print(Magic_number)
guess = int(input("Enter your guess:"))



guess_limit = 5
guess_counter = 1
out_of_guesses = False

print("You have", str(guess_limit - guess_counter), "tries left")

while not out_of_guesses:
    guess = int(input("Enter guess: "))

    if guess == Magic_number:
        print("Well done you got it!!")
        exit(0)

    elif guess < Magic_number:
        print("That number is too small, try again")

    elif guess > Magic_number:
        print("That number is too high try again")

    guess_counter += 1
    print("You have", str(guess_limit - guess_counter), "tries left")

    # exit clause
    if guess_limit == guess_counter:
        out_of_guesses = True

print("Game over, sorry")

即使我第一次尝试就正确了,它也会这样做: 欢迎来到我的猜谜游戏,你能猜出这个神奇的数字吗 暗示 在1到100之间 47 输入你的猜测:47 你还有4次机会 输入猜测:47 干得好,你做到了

正如你所看到的,尽管我第一次尝试是正确的,但这并不算在内。Ps.(这就是我屏幕底部执行代码的地方。)


1条回答
网友
1楼 · 发布于 2024-05-06 01:36:02

在读取第4行上的输入后,不检查if guess == Magic_number。 像这样

import random
Magic_number = random.randrange(1, 100)
print(Magic_number)
guess = int(input("Enter your guess:"))

if guess == Magic_number:
    print ("You won")
    exit(0)

你不需要所有这些变量,检查这个

import random
Magic_number = random.randrange(1, 100)
print(Magic_number)

guess_limit = 5
guess_counter = 0

while True:
    guess = int(input("Enter guess: "))

    if guess == Magic_number:
        print("Well done you got it!!")
        exit(0)

    elif guess < Magic_number:
        print("That number is too small, try again")

    elif guess > Magic_number:
        print("That number is too high try again")

    guess_counter += 1
    print(f"You have {guess_limit - guess_counter} tries left")

    if guess_counter == guess_limit:
        print("Game over, sorry")
        exit(0)

相关问题 更多 >