我想要一个实例,用户可以使用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)
如果我把所有的“敌人”换成“火1”,一切都会很完美。但是,我需要手动输入每个fire类型实例
如果无法将实例分配给输入,有没有办法修复我的代码
现在发生的事情是将
enemy
赋值给字符串“fire1”,而不是变量这可以通过以下方式实现:
enemy = eval(input("Who do you want to attack?"))
然后应该引用名为“fire1”的实际对象。如果你需要进一步的帮助,请告诉我
相关问题 更多 >
编程相关推荐