我正在尝试编写一段代码,以便在给定用户输入时生成有关某个主题的信息。最终的目标是使一个版本的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)这是我使用的完整类的修剪版本。我想让它做的是,当用户输入Pokemon的名字时,打印该名字的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),因为我需要为每个精灵做这件事。
发布于 2019-03-23 07:03:31
在您感兴趣的对象的方法内部,您可以只打印id_num。
https://stackoverflow.com/questions/55308806
复制相似问题