在python中获取while循环以重复的问题

2024-04-24 16:12:47 发布

您现在位置:Python中文网/ 问答频道 /正文

每当我运行这个程序时,我都不能让while循环重复。这是一个简单的课堂练习,我不知道我做错了什么。你知道吗

class Enemy():
    def attack(self):
        enemy_health = 50
        while enemy_health > 0:
            action = input("attack enemy?")
            if action.lower() == "yes":
                print("enemy health dropped by 5")
                enemy_health =- 5
            else:
                print("enemy escaped!")




jaguar = Enemy()
jaguar.attack()

我要重复输入直到敌人生命值为0。另外,我是否应该在这里包含任何返回语句,而不是简单地从敌人的生命值中减去?谢谢


Tags: self程序inputdefactionclassprinthealth
3条回答

这是因为你必须把操作符倒过来-=

你犯了个小错误,这一行:

enemy_health =- 5

实际上应该是:

enemy_health -= 5

原来的行只是将health设置为-5。更改间距时更容易看到错误:

enemy_health = -5  # same as the first line

当你使用enemy_health =- 5时,你并没有减少敌人的生命值5,而是将它设置为-5。使用enemy_health -= 5。你知道吗

相关问题 更多 >