Я новичок в изучении python, и я пытаюсь закодировать небольшой переводчик с английского на испанский. Я получил код здесь, который переводится с английского на испанский и испанский на английский. Тем не менее, я хочу добавить код, который позволяет пользователю видеть список слов при вводе «show». Я получил код для него, но когда я набираю шоу, он просто распечатывает «except keyerror».Python, создающий словарь
english_list = ["fire","apple","morning","river","wind"]
spanish_list = ["fuego","manzana","mañana","río","viento"]
english_to_spanish = dict(zip(english_list, spanish_list))
def translate(word):
try:
for key,value in english_to_spanish.items():
if key == word:
print("{0} in Spanish is {1}".format(
word, english_to_spanish[word]))
elif value == word:
print("{0} in English is {1}".format(
word, key))
except KeyError:
print("That wasn't an option"
.format(translate))
print("Welcome to the English <--> Spanish Dictionary")
while True:
word1 = input("> ")
translate(word1)
Вот код, который, как я думал, будет работать, чтобы показать пользователю список слов, когда они набирают «шоу».
if word == 'show':
wordlist = input("Would you like to see the English or Spanish wordlist?")
if wordlist == 'english':
print(english_list)
elif wordlist == 'spanish':
print(spanish_list)
else:
print("That wasnt an option")
Было бы очень признательно, если бы кто-то мог помочь мне здесь.
конечно "шоу" вызывает ключевую ошибку - ее нет в списке. Код, размещенный внизу. Должен работать (* предполагая *, что 'translate' не вызывается и помещается в соответствующее место). Показать * актуальный код * важен. – user2864740
Ваш исходный код использует 'word1', а не' word', для ввода пользователем. –