The code is working fine but I keep getting an EOF error on my 2nd last line.
program:
# option list for user choice
option = ['y', 'yes', 'YES', 'n', 'no', 'NO']
# invalid characters for hawaiian language
invalid_letters = {"b", "c", "d", "f", "g", "j", "q", "r", "s", "t", "v", "x", "y", "z"}
# dictionary for pronunciation of the letters of word
dictionary = {
'a' : 'ah',
'e' : 'eh',
'i' : 'ee',
'o' : 'oh',
'u' : 'oo',
'ai' : 'eye',
'ae' : 'eye',
'ao' : 'ow',
'au' : 'ow',
'ei' : 'ay',
'eu' : 'eh-oo',
'iu' : 'ew',
'oi' : 'oy',
'ou' : 'ow',
'ui' : 'ooey',
'p' : 'p',
'k' : 'k',
'h' : 'h',
'l' : 'l',
'm' : 'm',
'n' : 'n',
'w' : ['v', 'w']
}
# loop for user input
while option not in ['n', 'no']:
Alolan_word = input("Enter a hawaiian word: ").lower()
word = ' ' + Alolan_word + ' '
pronunciation = ''
skip = False
# loop for traversing the word by character wise
# match each character of word with elements of invalid_letters
for letter in Alolan_word:
if letter in invalid_letters:
print("Invalid word, " + letter + " is not a valid hawaiian character.")
break
# loop for scanning the accepted word letter wise
# match each letter of th word with corresponding pronunciation in the dictionary
for index in range(1,len(word)-1):
letter = word[index]
if skip:
skip = False
continue
if letter in {'p','k','h','l','m','n'}:
pronunciation += dictionary[letter]
if letter == 'w':
if word[index-1] in {'i','e'}:
pronunciation += dictionary[letter][0]
else:
pronunciation += dictionary[letter][1]
if letter == 'a':
if word[index+1] in {'i','e'}:
pronunciation += dictionary['ai'] + '-'
skip = True
elif word[index+1] in {'o', 'u'}:
pronunciation += dictionary['ao'] + '-'
skip = True
else:
pronunciation += dictionary[letter] + '-'
if letter == 'e':
if word[index+1] == 'i':
pronunciation += dictionary['ei'] + '-'
skip = True
elif word [index+1] == 'u':
pronunciation += dictionary['eu'] + '-'
skip = True
else:
pronunciation += dictionary[letter] + '-'
if letter == 'i':
if word[index+1] == 'u':
pronunciation += dictionary['iu'] + '-'
skip = True
else:
pronunciation += dictionary[letter] + '-'
if letter == 'o':
if word[index+1] == 'i':
pronunciation += dictionary['oi'] + '-'
skip = True
elif word [index+1] == 'u':
pronunciation += dictionary['ou'] + '-'
skip = True
else:
pronunciation += dictionary[letter] + '-'
if letter == 'u':
if word[index+1] == 'i':
pronunciation += dictionary['ui'] + '-'
skip = True
else:
pronunciation += dictionary[letter] + '-'
if letter in {"'", ' '}:
if pronunciation[-1] == '-':
pronunciation = pronunciation[:-1]
pronunciation += letter
if pronunciation[-1] == '-':
pronunciation = pronunciation[:-1]
# display the pronounciation of accepted word in hawaiian language
print(Alolan_word.upper() + " is pronounced " + pronunciation.capitalize())
option = input("Would you like to enter another word? [y/yes, n/no] ").lower()
print("All done.")