我正在尝试制作代码,以便在给出用户输入时生成关于某个主题的信息。最终目标是制作一个Pokedex版本,并识别出所有800多个口袋妖怪。我目前有一个类设置,能够轻松地添加新的口袋妖怪。问题在于我尝试调用每个口袋妖怪的信息。
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)
因为我需要为每个口袋妖怪做这个。
在您感兴趣的对象的方法内,您可以打印id_num
。