import random import os import sys import msvcrt # needed for single key input class WordPair: def __init__(self, wordL1, wordL2): self.wordL1 = wordL1 self.wordL2 = wordL2 Voci = [ WordPair("one", "Eins"), WordPair("two", "Zwei"), WordPair("three", "Drei"), WordPair("four", "Vier"), WordPair("fife", "Fuenf") ] run = True while run: # Pick random word wp = random.choice(Voci) # Repeat random word (while wrong) repeatWord = True while repeatWord: os.system('cls||clear') # clear screen print(f"English word: {wp.wordL1}") # word to translate inp = input(f"German translation: ") # get input # Check input: if inp == wp.wordL2: # if correct, break inner while loop and move on to next word input(f"Correct! Type Enter for next word.") repeatWord = False else: # if wrong: multiple options print(f'Wrong! Type:\n' '- (1) to try again\n' '- (2) show translation\n' '- (3) next word\n' '- (4) to quit') # get a single key input key = msvcrt.getch() key = key.decode('utf-8').lower() # convert to utf-8 format and to lower case if key == '1': repeatWord = True elif key == '2': print(f"Correct word would be: {wp.wordL2}") print("press any key to continue") msvcrt.getch() repeatWord = False elif key == '3': repeatWord = False else: repeatWord = False run = False