问题描述
您好,因此我的较大代码中有一小段代码,旨在显示游戏中敌人的健康状况,但由于某些原因,即使我认为应该停止,循环仍在继续,是否存在某些问题我想念还是做错了?
import pygame,sys
import time
import random
import os
import sqlite3
import os.path
damage_done = 1
random_monster_health = random.randint(7,10)
alive = True
print (random_monster_health)
while alive == True:
mob_health = random_monster_health - damage_done
print ("mob health is {}" .format(mob_health))
if mob_health != 0:
percent_damage_done = mob_health / int(random_monster_health)
how_much_health_bar = 1180 * (percent_damage_done)
else:
pass
random_monster_health = mob_health
print(random_monster_health)
if mob_health != 0:
print("the monster is still alive")
pass
else:
alive == False
print ("the monster is dead")
pass
print("the loop has ended")
解决方法
else:
alive == False
print ("the monster is dead")
pass
这部分是错误的。您正在将alive
与False
应该是
else:
alive = False
print ("the monster is dead")
旁注:您不需要在每个if语句中使用pass。