Python: задержка выхода ()

#python

#python

Вопрос:

Файл в exe. Вот мой код:

  import time
number = 777
run = True

while run:
    guess = int(input('For your luck buddy: '))

    if guess == number:
        print('Well done! Leprecon bless ya.')
        run = False
    elif guess < number:
        print('Big no')
    else:
        print('Miss')
else:
    exit(0)
    if exit:
        time.sleep(3) 
 

Что не так с моим кодом? Как я могу отложить функцию exit() после печати правильного числа? Файл в exe.

Комментарии:

1. Почему не просто time.sleep(3); exit(0) ? Вы выходите, прежде чем откладывать…

2. Пожалуйста, имейте в виду, что exit это не должно использоваться в программах.

3. Есть случаи, когда выход имеет значение для использования при работе с пользовательскими интерфейсами @Matthias

4. @oskros Я просто цитировал документацию, и мне никогда не приходилось использовать exit ее при работе с пользовательскими интерфейсами. То, что я действительно использовал, было sys.exit связано с программами, запущенными в консоли.

5. @Matthias мой плохой, я путал его с sys.exit 🙂

Ответ №1:

Во-первых, run флаг не нужен, он в основном эмулирует break оператор. else Оператор в конце while цикла также не нужен. Если вы хотите подождать 3 секунды, прежде exit() чем вы просто поместите sleep оператор перед exit оператором. Также, как указал Маттиас в комментариях, вы не должны вызывать exit вручную, когда интерпретатор достигнет конца вашей программы / функции, выполнение все равно завершится.

 import time
number = 777

while True:
    guess = int(input('For your luck buddy: '))

    if guess == number:
        print('Well done! Leprecon bless ya.')
        break
    elif guess < number:
        print('Big no')
    else:
        print('Miss')
        
time.sleep(3)