我正在尝试编写代码以在给出用户输入时生成有关某个主题的信息。最终目标是制作出可识别所有800多种Pokemon的Pokedex版本。我目前开设了一门课程,可以轻松地向其中添加新的Pokemon。问题出在我试图调用有关每个神奇宝贝的信息的地方。
class pokemon:
def __init__(self, id_num, name):
self.id_num = id_num
self.name = name
def information(self):
print(__name__.id_num)
Bulbasaur = pokemon("001", "Bulbasaur")
print("What Pokemon are you looking for today?")
poke = input()
pokemon.information(poke)
这是我使用的完整课程的修剪版本。我要它做的是当用户输入名字时打印口袋妖怪名字的ID号。在此示例中,键入“ Bulbasaur”将输出“ 001”。但是,我收到此错误:
C:\--->pokedex.py
What Pokemon are you looking for today?
Bulbasaur
Traceback (most recent call last):
File "C:\---\pokedex.py", line 13, in <module>
pokemon.information(poke)
File "C:\---\pokedex.py", line 7, in information
print(__name__.id_num)
AttributeError: 'str' object has no attribute 'id_num'
关于如何解决此问题的任何想法?我想避免使用if poke = "Bulbasaur": print(Bulbasaur.id_num)
,因为我需要为每个口袋妖怪都这么做。
答案 0 :(得分:0)
在您感兴趣的对象的方法内,您只需打印id_num
。