[英]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.