我想要一个用户可以使用input()
语句访问的实例。
这是我的三个实例
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)
如果我把所有的&#34;敌人&#34;并用&#34; fire1&#34;替换它,一切都很完美。但是,我需要手动输入每个fire-type实例。
如果无法为输入分配实例,有没有办法修复我的代码?
答案 0 :(得分:1)
现在发生的事情是你将enemy
分配给字符串&#34; fire1&#34;而不是变量。
这可以这样实现:
enemy = eval(input("Who do you want to attack?"))
然后应该引用名为&#39; fire1&#39;的实际对象。如果您需要进一步的帮助,请告诉我们!