Мне сложно исправить ошибку, из-за которой элемент словаря не может быть вызван с использованием файла json - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь запустить набор кодов, который переведет любое слово, введенное пользователем с помощью файла 'json', но продолжаю получать эту ошибку;

PS E:\py files\dic> python .\app1.py

enter word: rain

Traceback (последний вызов последним): файл «. \ App1.py», строка 7, в print (translate (word)) Файл «. \ App1.py», строка 5, при преобразовании возвращаемых данных (w) TypeError: объект 'dict' не вызывается PS E: \ py files \ di c>

это вводимые коды;

import json
data=json.load(open("data.json"))

def translate(w):
    return data(w)
word=input("enter word: ")
print(translate(word))

Ответы [ 2 ]

0 голосов
/ 14 июля 2020

Вы можете использовать метод get словаря, чтобы получить w из data или вернуть значение по умолчанию, если его нет в словаре.

def translate(w):
    return data.get(w, default_value)
0 голосов
/ 14 июля 2020

Для доступа к элементам словаря data (dict) используйте квадратные скобки ([ ]):

def translate(w):
    return data[w]

Используя круглые скобки, вы указываете Python, чтобы использовать data как вызываемый объект, то есть как функцию. Как сообщает Python, это невозможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...