玩家已经猜中号码

Player already guessed the number

我很难告诉玩家玩家已经猜到了数字。

这是我的代码:

import random

number = random.randint (1, 100)
guess = int(input("\nCan you guess the number?\n\n"))

guessing = 1

def get_guess(already_guessed):
    guess = input()
    if guess in already_guessed:
        print("You already guessed that number.")
    else:
        return guess

while guess != number:
    if guess < number:
        print("Your guess is too low.")
    if guess > number:
        print("Your guess is too high.")
    if guess == number:
        break

    guess = get_guess(input("Try again.\n\n"))

您永远不会更新您的 already_guessed 变量,您可以将它添加到您的 get_guess 函数中。而且你有太多 input。试试看:

import random

number = random.randint (1, 100)
guess = int(input("\nCan you guess the number?\n\n"))

already_guessed = []

def get_guess(already_guessed):
    if guess in already_guessed:
        print("You already guessed that number.")
    else:
        already_guessed.append(guess)
    return already_guessed


while guess != number:
    if guess < number:
        print("Your guess is too low.")
    if guess > number:
        print("Your guess is too high.")
    if guess == number:
        break

    guess = int(input("Try again.\n\n"))
    already_guessed = get_guess(already_guessed)

您没有维护已看到的猜测列表,但您尝试使用它。

您传递输入以代替末尾的 already_guessed 列表。

您的输入语句流程与游戏玩法不一致。

你的终止并没有告诉玩家 s/he 赢了,你使用了多余的 break 语句。

import random

number = random.randint (1, 100)
guess = int(input("\nCan you guess the number?\n\n"))

guessing = 1
seen = []

def get_guess(already_guessed):
    guess = int(raw_input("Your guess?"))
    if guess in already_guessed:
        print("You already guessed that number.")
    else:
        return guess

while guess != number:
    seen.append(guess)
    if guess < number:
        print("Your guess is too low.")
    elif guess > number:
        print("Your guess is too high.")
    guess = get_guess(seen)

print "You win!"