簡體   English   中英

使用while循環在python中重復的問題

[英]Problem with getting while loop to repeat in 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。此外,我是否應該在此處包括任何return語句,而不是簡單地從敵人的健康狀況中減去? 謝謝

您有一個小錯誤,此行:

enemy_health =- 5

實際上應該是:

enemy_health -= 5

原始行僅將運行狀況設置為-5 更改間距時更容易發現錯誤:

enemy_health = -5  # same as the first line

當您使用敵人健康enemy_health =- 5 ,您不會將敵人的生命值降低5,而是將其設置enemy_health -= 5 。使用敵人健康enemy_health -= 5

這是因為您必須將運算符取反為-=

您在這里有錯字:

enemy_health =- 5

enemy_health設置為-5。 您要執行的操作是獲取任意的enemy_health並從中減去5,然后將該值存儲回enemy_health

您可以這樣做: enemy_health -= 5

或這樣: enemy_health = enemy_health - 5

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM