Задать вопрос
@niklazh
да.

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

у меня есть код который выдаёт рандомные 2 числа и умножает их
import random
import time
def convert():
    a = random.randint(11, 99)
    b = random.randint(3, 9)
    c = a * b
    print(a, " * ", b)
    time.sleep(12)
    print(c)
convert()
while True:
    convert()

я хочу добавить возможность досрочного ответа, типа: если введёный ответ пользователя равен c (ответ на пример), то тогда сразу начинается новый пример, чтобы не ждать окончания таймера если ты успел посчитать
  • Вопрос задан
  • 121 просмотр
Подписаться 1 Простой 12 комментариев
Пригласить эксперта
Ответы на вопрос 1
ipatiev
@ipatiev
Потомок старинного рода Ипатьевых-Колотитьевых
Вопрос, конечно, сформулирован криво, но из кода можно понять, что автору нужно.

Прервать ожидание input() нельзя.
Поэтому я бы пошёл другим путём - перед запросом ответа запоминал текущее время (time.time()) в переменную, а после ввода - сравнивал её опять с текущим временем, и разница больше заданного значения, то не принимал ответ. Для задачи "пишем свою первую игрушку на Питоне" этого более чем достаточно.

Если же прямо хочется прерывать, то придётся сильно постараться, и я не уверен, что такое решение будет адекватно задаче.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы