Загрузка...

Код на перезапуск программы помощь

Тема в разделе Python создана пользователем Goodov 6 ноя 2019. 679 просмотров

  1. Goodov
    Goodov Автор темы 6 ноя 2019 Заблокирован(а) 36 4 мар 2019
    Короче, код такой:
    Код

    answer = input("Ещё? (Y|N")
    if answer == "N":
    exit()
    if answer == "Y":
    Вот тут мне надо чтобы при ответе Y программа перезапускалась и начиналось все по новой
     
  2. i911
    i911 6 ноя 2019 115 14 сен 2018
    Код
    def main():
    # код
    answer = input("Ещё? (Y|N")

    if answer == "N":
    exit()
    else:
    main()

    main()
     
  3. Goodov
    Goodov Автор темы 6 ноя 2019 Заблокирован(а) 36 4 мар 2019
    Проверю, спасибо
     
  4. VasiliY12_inactive466118
    VasiliY12_inactive466118 6 ноя 2019 Заблокирован(а) 4 21 июн 2018
    While true юзай и если ответ Y, то просто continue делай
    --- Сообщение объединено с предыдущим 6 ноя 2019
    Проще через while true
     
  5. i911
    i911 6 ноя 2019 115 14 сен 2018
    Ну да, можно и так
    Код
    while True:
    # код
    answer = input("Ещё? (Y|N")

    if answer == "N":
    exit()
    else:
    continue
     
  6. VasiliY12_inactive466118
    VasiliY12_inactive466118 6 ноя 2019 Заблокирован(а) 4 21 июн 2018
    if answer == "N":
    break
    elif answer == "Y":
    continue
    else:
    print("Не понимаю тебя")
    continue
     
  7. Goodov
    Goodov Автор темы 6 ноя 2019 Заблокирован(а) 36 4 мар 2019
    i911,
    File "wim.py", line 2
    what = input("Что делаем?(+, -): ")
    ^
    IndentationError: expected an indented block
     
  8. i911
    i911 6 ноя 2019 115 14 сен 2018
    Ошибка в отступе
     
  9. Goodov
    Goodov Автор темы 6 ноя 2019 Заблокирован(а) 36 4 мар 2019
    i911, А что там должно быть(
    --- Сообщение объединено с предыдущим 6 ноя 2019
    ?
     
  10. i911
    i911 6 ноя 2019 115 14 сен 2018
    Кинь мне целый код
     
  11. Goodov
    Goodov Автор темы 7 ноя 2019 Заблокирован(а) 36 4 мар 2019
    i911, позже кину
     
  12. VectorASD_inactive
    Вот через класс реализовал
    Код

    class Restarter(Exception): pass

    def main():
    if input("Ещё? (Y|N) ") == "Y": raise Restarter()

    while True:
    try: main()
    except Restarter:
    print("Рестарт...")
    continue
    break
     
  13. sasazaza_inactive81748
    sasazaza_inactive81748 9 ноя 2019 Заблокирован(а) 107 13 фев 2017
    Создавать класс ,но зачем? Если этот момент будет юзаться только в одном моменте. :roflanpominki:
     
  14. VectorASD_inactive
    будет полезно, если exit() уже для чего-то другого занят, да и можно в классе
    Код
    __init__(self, text): self.text = text
    , а в
    Код
    except Restarter as text:
    читать, вот только на более глубоких слоях придётся в общем except фильтровать этот момент...
    --- Сообщение объединено с предыдущим 9 ноя 2019
    или вы не заметили, что в одном месте происходит raise этого класса, а в другом except класса? :D
     
  15. sasazaza_inactive81748
    sasazaza_inactive81748 9 ноя 2019 Заблокирован(а) 107 13 фев 2017
    Не вглядывался в текст не заметил что ты except-ишь класс.
     
Загрузка...
Top