Я возвращаюсь к программированию, поэтому я запустил проект, который бросает матрицу на основе количества сторон, введенных пользователем, и количества раз, когда пользователь хочет, чтобы матрица была брошена.У меня проблемы с частью программы, связанной со временем.Когда пользователь не вводит данные в течение десяти секунд после запроса, я хочу, чтобы сообщение отображалось.Если ничего не вводится в течение следующих десяти секунд, должно отображаться сообщение, и так далее, и так далее.Я использую python.
Сейчас большая часть программы работает, но время проверяется только после ввода данных.Таким образом, пользователь может бесконечно сидеть на экране ввода и не получать подсказки.Я действительно застрял в том, как одновременно ожидать ввода, проверяя количество времени, прошедшее с момента запроса ввода.
def roll(x, y):
rvalues = []
while(y > 0):
y -= 1
rvalues.append(random.randint(1, x))
return rvalues
def waitingInput():
# used to track the time it takes for user to input
start = time.time()
sides = int(input("How many sides does the die have? "))
times = int(input("How many times should the die be rolled? "))
tElapsed = time.time() - start
if tElapsed <= 10:
tElapsed = time.time() - start
rInfo = roll(sides, times)
print("Each side occurs the following number of times:")
print(Counter(rInfo))
waitingInput()
else:
print("I'm waiting...")
waitingInput()
Буду признателен за любой совет.Я пытаюсь улучшить свое кодирование любым возможным способом, поэтому конструктивная критика в отношении несвязанного кода приветствуется.