Как исключить первую пару строк кода при перезапуске функции? - PullRequest
0 голосов
/ 06 мая 2020

У меня есть функция python, которая по сути является игрой. Первые несколько строк в этой игре - это просто распечатанные правила игры. Когда игра заканчивается и игроку нужно «повторить» игру, функция перезапускается.

Мой вопрос: как мне исключить первые две строки кода при перезапуске функции?

Ответы [ 2 ]

2 голосов
/ 06 мая 2020

Добавьте аргумент ключевого слова со значением по умолчанию, и когда игрок «повторяет» игру, установите для него значение, которое вы можете использовать, чтобы пропустить правила;

    def run_game(skip_rules=False):
        if !skip_rules:
            print("Here's how to play the game...")

        # rest of your function code

Итак, когда вы запускаете игру, 1-й раз, просто вызовите run_game() - когда игрок повторяет игру, введите аргумент ключевого слова run_game(skip_rules=True)

1 голос
/ 06 мая 2020

Один из способов сделать это - создать while l oop внутри функции вместо ее перезапуска. Оберните код, который вы хотите повторить, в while True l oop и поместите перед ним код, который вы хотите показать только один раз. Затем, если пользователь хочет перезапустить игру, вы можете continue, а если пользователь хочет завершить игру, вы можете break. Это также будет означать, что вам нужно вызвать основную функцию только один раз, и она будет автоматически повторяться при необходимости и заканчиваться при необходимости. Это также лучший вариант python, так как обычно вы должны вызывать основную функцию только один раз внутри блока кода, который выглядит следующим образом:

if __name__ == "__main__":
    main()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...