Я пытаюсь сделать игру с алфавитом. Идея программы в том, что она будет печатать по одной букве за раз из списка. В течение 20 секунд после его печати пользователь должен будет ввести столько слов, которые начинаются с этой буквы. Как только время достигнет 20 секунд, цикл while будет повторять следующую букву, и процесс будет продолжаться, пока не будет передана каждая буква.
from pytictoc import TicToc
import time, threading
t = TicToc()
letters = ['A','B','C','D','E','F','G',
'H','I','J','K','L','M','N',
'O','P','Q','R','S','T','U','V',
'W','X','Y','Z']
userWords = [] #the user input will be appended here
n = 0
while n < 26:
t.tic()#the starting time
print('Enter words that start with the letter: ' + letters[n])
word = input("")
userWords = userWords + [word]#user
t.toc()#the ending time
while TicToc() == 20.0:
break
if n == 26:
break
#Results
print('Here are your %s words:' % len(userWords))
userDictionary = dict(zip(letters, userWords))
print(userDictionary)
Части, с которыми я борюсь, это:
- Куда поместить таймеры для выполнения итерации l oop по истечении 20 секунд.
- Как разрешить пользователю вводить более одного слова без продолжения программы до следующей буквы после ввода одного слова.
Получаются следующие результаты:
Here are your 0 words:
{'A': '', 'B': '', 'C': '', 'D': '', 'E': '', 'F': '', 'G': '', 'H': '', 'I': '', 'J': '', 'K': '',
'L': '', 'M': '', 'N': '', 'O': '', 'P': '', 'Q': '', 'R': '', 'S': '', 'T': '', 'U': '', 'V': '',
'W': '', 'X': '', 'Y': '', 'Z': ''}