Попросите правильный ввод, пока он не будет дан в python [duplicate]

Snozye спросил: 07 октября 2018 в 10:27 в: python

На этот вопрос уже есть ответ:

  • Asking the user for input until they give a valid response 13 ответов

У меня есть код, который спрашивает пользователя, хотят ли они играть в игру, нажимая Y или N. Если они нажмите Y, он попросит их выбрать число от 1 до 10, если они нажмут N, он скажет: "О'кей".

Но я хочу, чтобы он снова спросил, является ли пользовательский ввод y или n. и если они не нажимают y или n, он будет спрашивать снова и снова и снова, пока они не нажмут y или n.

#!/usr/bin/env python3import randomnumber = random.randint(1, 10)
tries = 0
win = False # setting a win flag to falsename = input("Hello, What is your username?")print("Hello" + name + "." )question = input("Would you like to play a game? [Y/N] ")
if question.lower() == "n": #in case of capital letters is entered
    print("oh..okay")
    exit()
if question.lower() == "y":
    print("I'm thinking of a number between 1 & 10")while not win:  # while the win is not true, run the while loop. We set win to false at the start therefore this will always run
    guess = int(input("Have a guess: "))
    tries = tries + 1
    if guess == number:
        win = True    # set win to true when the user guesses correctly.
    elif guess < number:
        print("Guess Higher")
    elif guess > number:
        print("Guess Lower")
# if win is true then output message
print("Congrats, you guessed correctly. The number was indeed {}".format(number))
print("it had taken you {} tries".format(tries))

0 ответов