Страницы

Поиск по вопросам

среда, 25 декабря 2019 г.

Как отловить изменения переменной в питоне?

#python #таймер


У меня есть приложение для игры в камень-ножницы-бумага. Для выбора своей фигуры
игроку дается 10 секунд, которые отсчитываются в следующем цикле. Мне нужно прервать
цикл когда игрок выбрал фигуру, или если по истечении времени он этого не сделал —
засчитать поражение. Как мне отловить ввод? Или может есть вариант лучше?

import time
global x;
for i in range(10, 0, -1):
    time.sleep(1)

    


Ответы

Ответ 1



Вы можете использовать select: import sys, select timeout = 10 i, o, e = select.select( [sys.stdin], [], [], timeout) if (i): print("Вы ввели", sys.stdin.readline()) else: print("Вы ничего не ввели") select будет ожидать ввод из sys.stdin, а когда он последует завершит свою работу. После чего мы из stdin и прочитаем то, что туда ввели.

Ответ 2



import queue x = queue.Queue(maxsize=1) try: i = x.get(timeout=10) print('выбор', i) except queue.Empty: print('поражение')

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

Отправить комментарий