I am learning both Greek and Python right now, so I decided to make a simple program that quizzes you on the translations by providing it in Greek and asking for English, and if you provide the English, it will output the Greek if it is in the dictionary.
Feel free to take and modify this for your own uses if interested! It would be as simple as replacing the Greek dictionary and references with anything else. :)
import random, sys
greekTranslation = {
'Γεια σας': 'Hello',
'Καλημέρα': 'Good morning',
'Καλησπέρα': 'Good evening',
'Ευχαριστώ': 'Thank you',
'Παρακαλώ': 'Please',}
def practiceGreek():
greekPhrase = random.choice(list(greekTranslation.keys()))
print('')
print(f'What is the translation of "{greekPhrase}"?')
print('')
answer = input('Your answer: ')
if answer.strip().lower() == greekTranslation[greekPhrase].lower():
print('')
print('That is correct!')
print('')
else:
print('')
print(f'Incorrect! The correct translation is "{greekTranslation[greekPhrase]}".')
print('')
def translateToGreek():
print('')
print('What would you like to translate into Greek?')
print('')
englishPhrase = input().strip().lower()
reverseTranslation = {v.lower(): k for k, v in greekTranslation.items()}
greekPhrase = reverseTranslation.get(englishPhrase)
if greekPhrase:
print('')
print(f'The Greek phrase is: "{greekPhrase}"')
print('')
else:
print('')
print('I am sorry, I don\'t have that in my dictionary.')
print('')
while True:
print('Welcome to the Greek Practice Program!')
print('')
print('What would you like to do?')
print('')
print('[Practice] [Translate] [Exit]')
print('')
optionSelection = input().strip().lower()
if optionSelection != 'practice' and optionSelection != 'translate' and \
optionSelection != 'exit':
print('')
print('Please select either practice, translate, or exit')
optionSelection = ''
print('')
if optionSelection == 'practice':
while optionSelection == 'practice':
practiceGreek()
print('')
print('Would you like another? [yes] [no]')
print('')
selection = input().strip().lower()
if selection == 'yes':
print('')
continue
else:
print('')
break
elif optionSelection == 'translate':
while optionSelection == 'translate':
translateToGreek()
print('')
print('Would you like to translate another phrase? [yes] [no]')
print('')
selection = input().strip().lower()
if selection == 'yes':
print('')
continue
else:
print('')
break
elif optionSelection == 'exit':
print('')
print('Thank you for using the Greek Practice Program!')
print('')
sys.exit()
Thank you for the detailed response and help! It is funny because I am actually working on learning the functions you are recommending (I am working through "Automate the boring stuff with python") and it is literally the chapter I am on now. haha
I do have plans to modify the translation in the future, which is why I set it up the way I did. But your recommendation is a lot cleaner than what I had in mind so I likely would have had a lot of redundant code even with my plan to add later.
This helps a lot, and again thank you for taking the time on this. I appreciate it!