Меню Looping на Python - PullRequest
       4

Меню Looping на Python

0 голосов
/ 19 февраля 2019

для задания я создал меню и должен работать так, чтобы он выполнял несколько функций.Однако проблема в том, что когда я использую меню и вставляю несуществующий ответ, я не могу заставить его работать правильно.Поэтому, когда я повторно ввожу номер опции для «Неверная опция, попробуйте еще раз:», я не получаю переоцененный номер для выполнения.Поскольку мой код далек от завершения, сейчас я хочу выбрать «4» в качестве входных данных и получить «Неверный параметр, попробуйте снова» в качестве выходных данных и ввести «1», чтобы получить вывод «Выберите уровеньтрудности ".

def main_menu():
print(10*"=","GAME",10*"=",'\n')
print("1. Choose level of difficulty ")
print("2. Start Game")
print("3. Exit the Game",'\n')
print("Current Difficulty: /5")
print("Highest Score Reached:",'\n')
option=input("Enter an option: ")
return option

def user_input():
while True:
    try:
        if option==1:
            difficulty()
            break 
        elif option==2:
            start()
            break
        elif option==3:
            exit()
            break
    except: 
        option=input("Incorrect option, try again: ")

def difficulty():
 d=int(input("Choose level of difficulty: "))
 if 1<=d<=5:
     start()
 else:
     int(input("Incorrect option, try again: "))
     #difficulty()
 return d

1 Ответ

0 голосов
/ 19 февраля 2019

Здесь - модифицированная версия вашего кода, которая, я считаю, делает то, что вы ищете.

def main_menu():
    print(10 * "=", "GAME", 10 * "=", '\n')
    print("Current Difficulty: /5")
    print("Highest Score Reached:", '\n')

    while True:
        print("1. Choose level of difficulty")
        print("2. Start Game")
        print("3. Exit the Game", '\n')

        try:
            option = int(input("Enter an option: "))

            if option == 1:
                difficulty()

            elif option == 2:
                start()

            elif option == 3:
                return

            else:
                print("Incorrect option, try again!")

        except ValueError:
            print("Invalid option.")


def difficulty():
    try:
        d = int(input("Choose level of difficulty: "))

        if 1 <= d <= 5:
            print(d)

            start()
        else:
            print("Incorrect option, try again.")

    except ValueError:
        print("Invalid value.")


def start():
    print("Starting game...")


if __name__ == "__main__":
    main_menu()

Дайте мне знать, если что-то неправильно понято или ошибочно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...