我对编程有点陌生,我被这个问题困住了:
我想在他们的父类之外做一个函数循环,直到生命值达到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()
最佳答案
在主函数中使用 while 循环。为了调用您定义的这两个函数,直到 self.life 为 0,while 循环将工作,因为它会检查条件直到它为真,这与 if 语句不同,它只会检查一次。我假设您也在定义生命的 int 值。
在你的主函数中试试这个:
while self.life > 0:
enemy1.attack()
enemy1.checklife()
关于python - 如何使用类外的函数进行循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38275352/