#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
, что после вопросительного знака нет места. В вашем комментарии отображается пробел, что подозрительно…