@anton206060
начинающий программист

Как прервать программу при отсутствии ввода за определённое время?

Доброго времени суток. Есть небольшая программа, в которой при отсутствии ввода в определённом промежутке времени, её надо прерывать. Вот она:
while True:
    # ввод паролей
    pas_1 = input()
    pas_2 = input()
#проверка длины паролей, их сложности по тз и проверка на то, совпадают ли они
    if len(pas_1) < 8:
        print('Короткий!')
    elif '123' in pas_1:
        print('Простой!')
    elif pas_1 != pas_2:
        print('Различаются.')
    else:
        print('OK')

Заранее спасибо
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Как вариант:
import os
from threading import Timer

def exit_program():
    print('Я мухожук...')
    os._exit(0)

while True:
    t = Timer(10.0, exit_program)
    t.start()
    pas_1 = input()
    pas_2 = input()
    if len(pas_1) < 8:
        print('Короткий!')
    elif '123' in pas_1:
        print('Простой!')
    elif pas_1 != pas_2:
        print('Различаются.')
    else:
        print('OK')
    t.cancel()
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Zoominger
@Zoominger
System Engineer
Вам нужно запросить пароль и запустить таймер в отдельном потоке. Как только он выйдет - проверить, существует ли данные в переменной pas. Если нет - программа прерывается. Вот и всё.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы