Задать вопрос
Amigun
@Amigun
Джун : |

Как сделать определенное время на ответ в Python?

Мой код задет вопрос:
print ('Газон зеленый')

Пользователь должен ответить 1-да, 2-нет
print ('1 - Правда')
print ('2 - Ложь')


Но время на ответ должно быть ограниченно, например 10 секунд. Использую модуль time

Мой код:
print ('Газон зеленый')
print ('1 - Правда')
print ('2 - Ложь')
ans = int(input('Ваш вариант ответа:'))
time.sleep (10)
print ('Время вышло!')
if ans == 1:
	print ('Вы ответили правильно!')
elif ans == 2:
	print ('Вы ответили не правильно!')
else:
	print ('Вы не ответили')


Но дело в том, что время (time.sleep (10)) не будет отсчитывать время, пока кто-то не введет ответ. Как исправить?
Чтобы время для ответа на вопрос, было 10 секунд?
  • Вопрос задан
  • 2642 просмотра
Подписаться 3 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Решения вопроса 1
@BJlaDuMup
Работает, но нужно доделать
import time
from threading import Thread

an = 1
ans = 0

def countdown():
	time.sleep (10)
	if not ans:
		print ('\nВремя вышло!')
		global an
		an = 0
def answer():
	global ans
	ans = int(input('Ваш вариант ответа:'))
	if ans == 1 and an:
	  print ('Вы ответили правильно!')
	elif ans == 2 and an:
	  print ('Вы ответили не правильно!')
	else:
		ans = 3
	  print ('Вы не ответили')


print ('Газон зеленый')
print ('1 - Правда')
print ('2 - Ложь')
task1 = Thread(target=countdown)
task2 = Thread(target=answer)
task1.start()
task2.start()
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Ответ написан
Комментировать
NeiroNx
@NeiroNx
Программист
Ну как - написал вопрос, сохранил время в переменную, ждешь ответа, пользователь ответил - сравнивашь время с сохраненным, если больше 10 сек прошло то пишешь что время вышло.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽