Python 3 - Создание времени, определенного пользователем, в пределах al oop (windows) - PullRequest
1 голос
/ 24 апреля 2020

Я решил спросить здесь, потому что, потратив несколько часов, пытаясь выяснить мою проблему (в одиночку и онлайн), я никуда не попал.

Позвольте мне сначала объяснить вам мою проблему:

Я пытаюсь написать сценарий, который будет случайным образом подбирать слово из предварительно определенного списка, рандомизировать порядок букв из этого слова и показывать картинку с этими буквами случайного порядка для пользователя. Роль пользователя - ввод первой буквы загадочного слова. Мой сценарий успешен и работает до сих пор, и я довольно доволен им. Тем не менее, я столкнулся со значительной проблемой, когда попытался реализовать «ограниченный по времени» пользовательский ввод. На самом деле, я бы хотел, чтобы у пользователя было ограниченное количество времени для ввода первой буквы загадочного слова. Если пользователь ничего не вводит, программа выводит что-то вроде «Время истекло!» и продолжил бы.

Самое близкое решение, которое я получил, - ответ Алекса Мартелли здесь: Как установить ограничение по времени для raw_input Однако сценарий, похоже, не работать на меня. Он определенно ждет X минут, прежде чем выйти из l oop, но ничего не делает, если я что-то ввожу. Я пытался использовать time.time () и сохранять его в переменной и проверять каждую итерацию, я пробовал разные методы потоков, но безуспешно. Я прочитал много постов, и большинство из них не могли мне помочь, потому что они были для linux или Ма c (я нахожусь на Windows).

Я поставил свой текущий сценарий ниже , Имейте в виду, что я поставил скрипт только для одного варианта для ясности, однако в окончательной версии их 5. cycle_nb - это переменная, подсчитывающая общее l oop, если пользователь хочет выполнить 5 вопросов подряд, то все это будет повторяться 5 раз, каждый раз давая пользователю определенное количество времени для ответа.

Я понятия не имею, как реализовать ограниченное по времени решение в моей текущей конфигурации. Я не эксперт, и я не знаю большого количества Python модулей, я в основном не отставал от этого проекта, чтобы попытаться изучить его, потому что я очень заинтересован в программировании. Поэтому я предпочитаю обратиться к реальным экспертам, у которых есть гораздо лучшая идея, чем я, чтобы решить эту проблему, и, надеюсь, учиться у них в процессе.

#First half of script that leads to production of an image (plt below) with randomized letters

plt.show()
answer = randomstring_answer
secret_word = randomword
player_answer = input()
option1 = randomstring

    if player_answer == "1":
        if option1 == answer:
            print("Correct!")
            print("The answer was " + secret_word)
            cycle_nb = cycle_nb+1
            plt.close()
        else:
            print("Wrong!")
            print("The answer was " + secret_word)
            cycle_nb = cycle_nb + 1
            plt.close()

#Rest of the script

Заранее спасибо за ваше время и помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...