python—将用户输入设置为实例

python—将用户输入设置为实例,python,class,input,Python,Class,Input,我想要一个实例,用户可以使用inputstatement访问它。 以下是我的三个例子 water1 = waterType("squirtle", 50) grass1 = grassType("bulbasaur", 50) fire1 = fireType("charmander", 50) 这就是我的意思 class waterType(Pokemon): """creates a water pokemon""" pokemon_type = "water" damage

我想要一个实例,用户可以使用inputstatement访问它。 以下是我的三个例子

water1 = waterType("squirtle", 50)
grass1 = grassType("bulbasaur", 50)
fire1 = fireType("charmander", 50)
这就是我的意思

class waterType(Pokemon):
  """creates a water pokemon"""
  pokemon_type = "water"
  damage = 10
  def __init__(self, name, hp):
    self.name = name
    self.hp = hp
  def growl(self):
    print("Splish Splosh")
  def attack(self):
    enemy = input("Who do you want to attack?")  <--- over here, I would enter "fire1"
    """attribute error occurs here"""
    if (enemy.pokemon_type == "fire"):
      global damage
      water1.damage = water1.damage*2
      enemy.hp = enemy.hp - water1.damage
      return enemy.hp
      print ("It was super effective!")
      print (enemy.hp)
如果我把所有的敌人换成火力1,一切都会很完美。但是,我需要手动输入每个fire类型实例


如果无法将实例分配给输入,有没有办法修复我的代码

现在发生的事情是,您正在将敌人分配给字符串fire1,而不是变量

这可以通过以下方式实现:

你想攻击谁


然后应该引用名为“fire1”的实际对象。如果你需要进一步的帮助,请告诉我

谢谢,这正是我想要的!