有没有办法根据用户输入打印类对象数据?

问题描述 投票:0回答:1

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

python
1个回答
0
投票

在您感兴趣的对象的方法内,您可以打印id_num

© www.soinside.com 2019 - 2024. All rights reserved.