这次是做了一个类与对象的问题,但问题主要出错不在类与对象上面,在别的地方。在每一次最后的输出,总会重复再次进行一次战斗。这让我感到疑惑。
最后发现是while的问题
while Fight(new_hero,LB) == 1:
print("新建英雄中")
print("***********************************")
i += 1
new_hero = Hero("hero"+str(i), 15, 30, "反吕联盟")
heros["hero"+str(i)] = new_hero
new_hero.get_inf()
print("***********************************")
LB.get_inf()
fight(new_hero,LB)
实际上在while语句的时候已经执行了一次fight,所以需要把最后一行的fight给删去。。。虽然我也不明白为啥会这样)
然后自己又瞎编了一个代码试了一下
def Acond(ad):
ad = 1
print("acdfg")
return 1
ad = 0
b = 4
while Acond(ad) == 1:
print("yes")
if (b<5):
break
out:acdfg
yes
[Finished in 0.1s]
所以可以得出,while的条件表达式如果是某个函数,它会将这个函数给执行一次,就酱。