Возникли некоторые проблемы с тем, чтобы это утверждение «если еще» работало

#python #if-statement

Вопрос:

Решено! Спасибо Тделани, ваш совет по перепечатке очень помог, и Джон Кугельман, которого вы назвали, когда я печатал это! Спасибо всем за то, что так быстро отреагировали!

Я включал пробел, когда мне было предложено указать мой любимый цвет, например. Какой ваш любимый цвет? Синий

Я отредактировал свой if A = = «Синий» на if A = = «Синий» или A = = «Синий» в обоих случаях

 from random import randint

# Establish the lower and uppper bound on the goal number
MINIMUM = 1
MAXIMUM = int(input("State a number"))



def print_welcome():
    '''
    Prompt the user for their name, and then display a
    simple message explaining the rules of the game.
    '''
    # Get the name of the user
    if MAXIMUM < 10:
        print("Too easy, you bore me!")
    else:
        print("BAHAHA A REAL CHALLENGER EH?")
    name = input("What is your name? ")
    # Show the user's name
    input("What is your quest?")
    A = input('What... Is your favorite color?')
    if A  == 'Blue' or A == 'blue':
        print("You get thrown off a bridge")
    else: 
        print("Right, on you go then!")
            
    print("Just kidding", name, "!", "...welcome to my guessing game.")
    # Print out the limits of the goal number
    print("I've thought of a number between", MINIMUM, "and", MAXIMUM)
    # Write out rest of the instructions
    print("You need to guess that number.")
    print("I'll tell you if you need to go higher or lower.")
    
def print_ending():
    '''
    Print out a conclusive message to wrap up the game.
    '''
    print("You win!")
    
def process_guess(guess, goal):
    '''
    Print out whether or not the user was above, below,
    or at the goal.
    
    Args:
        guess (int): The number that the user entered
            as their guess.
        goal (int): The number that the computer is
            thinking of.
    '''
    # Branch execution based on whether the guess was right
    if guess < goal:
        print("You need to go higher!")
    elif guess > goal:
        print("You need to go lower!")
    else:
        print("That's correct, it's", goal)

def get_number():
    '''
    Ask the user for a number, and keep prompting
    them until they give you an actual number
    (as opposed to giving you a letter).
    '''
    # Get the guess from the user, returns a string
    number = input("What is your guess? ")
    # Was the string composed only of numbers?
    if number.isdigit():
        # If so, we can safely convert it to an integer
        number_as_int = int(number)
        # And return the result
        return number_as_int
    else:
        # Otherwise, call this function again recursively
        return get_number()

def main_game():
    '''
    Play a round of the game.
    '''
    # Pick random number between MINIMUM and MAXIMUM
    goal = randint(MINIMUM, int(MAXIMUM))
    # Initially, the user hasn't guessed anything.
    user_guess = None

    print_welcome()
    # Repeatedly ask the user until they get it right
    while user_guess != goal:
        user_guess = get_number()
        process_guess(user_guess, goal)
    print_ending()

# This if statement is common in most professional Python
#   programs - don't worry too much about what it does,
#   but you can safely assume it will work when you press
#   the run button.
if __name__ == '__main__':
    main_game()
 

Это всего лишь небольшой отрывок из игры, которую я делаю для класса. Если вы посмотрите на последние четыре строки, то каждый раз, когда я ввожу «синий» ответ, он пропускается print("You get thrown off a bridge") . Я не думаю, что это регистрация ответов, которые я хочу, чтобы код распознал.

изменить: Я добавил полный код. часть def print_welcome() в начале-единственная область, в которой я сталкиваюсь с проблемой, указанной выше.

извините, что изначально не включил полный код, так как я впервые разместил здесь вопрос и не знал, что мне следовало включить.

Как я уже говорил ранее, это для класса. Задача состоит в том, чтобы изменить уже установленный код, чтобы придать ему некоторые личные оттенки.

Комментарии:

1. Я не могу воспроизвести это. Когда я печатаю blue , меня сбрасывают с моста.

2. опубликуйте весь сценарий целиком, возможно, что-то еще испортилось A

3. Если верхние строки не имеют значения для вопроса, опустите их. Например, мы не знаем МАКСИМУМА, и, похоже, он не нужен для теста. Если я пробегу только последние 5 строк, начиная с запроса A , это сработает для меня.

4. И совет: Сразу после A = input(...) этого сделайте print(repr(A)) так, чтобы мы могли точно увидеть, что там внутри. Куча дополнительных отпечатков-отличный способ отладить программу.

5. Вы набираете пробел раньше Blue , например <space>Blue ? Когда я запускаю это, я вижу favorite color?Blue , что после вопросительного знака нет места. В вашем комментарии отображается пробел, что подозрительно…