, так что это программа, которая читает файл json и просто переводит любые входные данные в известное английское слово и пытается получить точное совпадение из файла json.
Однако, когда я ввожу, например:Animal затем привет, программа падает, если я спам привет, она не падает, если я ввожу hello, то animal она не падает, она падает только при вводе hello, затем animal, но не наоборот.
Если яТолько входное животное прекрасно работает.Ошибка: обратная связь (последний вызов был последним): файл «app.py», строка 26, в переводах = trans (word) TypeError: объект 'str' не может быть вызван
import json
import difflib
data = json.load(open("data .json"))
print("Please note the commands can be entered in small or capital letters as you like")
def trans(w):
w= w.lower()
if w in data:
return data[w]
else:
bestMatch= difflib.get_close_matches(w,data.keys())
for match in bestMatch:
match=match.capitalize()
command=input("Did you mean "+match+" Y for yes and N for no and -1 to go back\n")
command=command.lower()
if command=='y':
return trans(match)
elif command=='-1':
return ""
return "The word does not exist"
word=input("Enter a word or -1 to exit\n")
while word != "-1":
translations=trans(word)
if type(translations)==str:
print("Definition: ")
if len(translations)==1:
print(translations[0])
else:
for trans in translations:
print(trans)
word=input("Enter a word or -1 to exit\n")