尝试通过用户输入调用函数
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
>>>
2 个回答
0
你需要把Python内置的函数raw_input替换成input,这样才能读取值。具体的用法可以参考这里的input函数文档。下面是更新后的代码:
def monster(name):
with open('yvd.txt') as fd:
user_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=raw_input('Input monster to search: ')
monster(monster_name)