Хорошо, я получаю ошибку ключа, и я сузил ее до этой функции здесь:
def find_coexistance(D, query):
'''(dict,str)->list
Description: outputs locations of words in a test based on query
Precondition: D is a dictionary and query is a string
'''
query = query.split(" ")
if (len(query) == 1):
return D[str(query)]
else:
return D.intersection(query)
##############################
# main
##############################
file=open_file()
d=read_file(file)
query=input("Enter one or more words separated by spaces, or 'q' to quit:").strip().lower()
a = find_coexistance(d, query)
print (a)
Это следующий вывод, который я получаю:
Traceback (most recent call last):
File "C:\Users\hrith\Documents\ITI work\A5_300069290\a5_part1_300069290.py",
line 135, in <module>
a = find_coexistance(d, query)
File "C:\Users\hrith\Documents\ITI work\A5_300069290\a5_part1_300069290.py",
line 122, in find_coexistance
return D[str(query)]
KeyError: "['this']"
и это то, что находится внутри словаря:
d = {'this': {1, 2, 3, 4}, 'is': {1, 2, 3, 4}, 'man': {1, 2}, 'also': {2,
4}, 'woman': {3, 4}}
, и если я проверяю, есть ли «это» в словаре, я получаю:
>>>'this' in d
True
Так что я делаю неправильно??????