Загрузка...

Program restart code help

Thread in Python created by Goodov Nov 6, 2019. 699 views

  1. Goodov
    Goodov Topic starter Nov 6, 2019 Banned 36 Mar 4, 2019
    Короче, код такой:
    Code

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

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

    main()
     
  3. Goodov
    Goodov Topic starter Nov 6, 2019 Banned 36 Mar 4, 2019
    Проверю, спасибо
     
  4. VasiliY12_inactive466118
    While true юзай и если ответ Y, то просто continue делай
    The post was merged to previous Nov 6, 2019
    Проще через while true
     
  5. i911
    i911 Nov 6, 2019 115 Sep 14, 2018
    Ну да, можно и так
    Code
    while True:
    # код
    answer = input("Ещё? (Y|N")

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

    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 Nov 9, 2019 Banned 107 Feb 13, 2017
    Создавать класс ,но зачем? Если этот момент будет юзаться только в одном моменте. :roflanpominki:
     
  14. VectorASD_inactive
    будет полезно, если exit() уже для чего-то другого занят, да и можно в классе
    Code
    __init__(self, text): self.text = text
    , а в
    Code
    except Restarter as text:
    читать, вот только на более глубоких слоях придётся в общем except фильтровать этот момент...
    The post was merged to previous Nov 9, 2019
    или вы не заметили, что в одном месте происходит raise этого класса, а в другом except класса? :D
     
  15. sasazaza_inactive81748
    sasazaza_inactive81748 Nov 9, 2019 Banned 107 Feb 13, 2017
    Не вглядывался в текст не заметил что ты except-ишь класс.
     
Loading...
Top