我对编程有点陌生,我被这个问题困住了:

我想在他们的父类之外做一个函数循环,直到生命值达到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/

10-13 03:41