def monster(name):
with open('yvd.txt') as fd:
input=[x.strip('|').split('|') for x in fd.readlines()]
to_search={x[0]:x for x in input}
print('\n'.join(to_search[name]))
monster_name=input('Input monster to search: ')
monster(monster_name)
Хорошо, поэтому я пытаюсь вызвать функцию monster
с помощью ввода пользователем. input
просит пользователя ввести имя монстра для поиска. Затем функция monster
выполняет поиск введенного монстра и распечатывает его. Но как мне получить, чтобы строка вызывалась в функции?Попытка вызова функции через пользовательский ввод
Пример вывода:
Input monster to search: Boogie Man
Traceback (most recent call last):
File "C:\Users\Trevor\Desktop\yvd_read.py", line 8, in <module>
monster(monster_name)
TypeError: 'str' object is not callable
>>>
Что вы подразумеваете под «заставить его иметь строку, подлежащую вызову в функции»? – yehe
Не понимаю, что вы имеете в виду. Может быть, вы должны более четко описать свой вопрос. Лучше, если вы можете дать образец вашего ввода и вывода. – zhangyangyu
monster_name будет именем монстра, так что это будет строка, я хочу, чтобы это имя было аргументом для функции монстра. Но я получаю сообщение об ошибке «объект str не может быть вызван» – user1985351