有没有一种方法可以根据用户输入来打印类对象数据?

时间:2019-03-22 22:56:16

标签: python

我正在尝试编写代码以在给出用户输入时生成有关某个主题的信息。最终目标是制作出可识别所有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),因为我需要为每个口袋妖怪都这么做。

1 个答案:

答案 0 :(得分:0)

在您感兴趣的对象的方法内,您只需打印id_num