我对编程很陌生,而且我遇到了这个问题:
我想在父类之外创建一个循环函数,直到生命值达到0,然后我希望程序结束。
class Enemy():
def __init__(self, name, life):
self.name = name
self.life = life
def attack(self):
x = input("write 'attack' to attack\n")
if x == 'attack':
self.life -= 5
def checklife(self):
if self.life <= 0:
print("Dead")
else:
print(self.name, "has", self.life, "life left")
return self.life
class Attack(Enemy):
def loop(self):
while self.life > 0:
continue
enemy1 = Attack("Peter", 10)
# This are the functions I want to loop until self.life is 0
enemy1.attack()
enemy1.checklife()
答案 0 :(得分:3)
在主要功能中使用while循环。为了调用你已经定义的那两个函数,直到self.life为0,while循环将起作用,因为它检查条件直到它为真,而不像if语句只检查一次。我假设你也在为生命定义一个int值。
在您的主要功能中尝试此操作:
while self.life > 0:
enemy1.attack()
enemy1.checklife()