如何使用类外的函数进行循环

时间:2016-07-08 21:02:34

标签: python python-3.x

我对编程很陌生,而且我遇到了这个问题:

我想在父类之外创建一个循环函数,直到生命值达到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()

1 个答案:

答案 0 :(得分:3)

在主要功能中使用while循环。为了调用你已经定义的那两个函数,直到self.life为0,while循环将起作用,因为它检查条件直到它为真,而不像if语句只检查一次。我假设你也在为生命定义一个int值。

在您的主要功能中尝试此操作:

while self.life > 0:
    enemy1.attack()
    enemy1.checklife()