The Warriors []

xiaoxiao2025-11-04  37

主要就是在fight()中对数据进行更新

# The Warriors class Warrior: health = 50 attack = 5 is_alive = True class Knight(Warrior): attack = 7 def fight(unit_1, unit_2): count_1= unit_1.health /unit_2.attack count_2=unit_2.health/unit_1.attack if count_1>int(count_1): count_1=int(count_1)+1 else: count_1=int(count_1) if count_2>int(count_2): count_2=int(count_2)+1 else: count_2=int(count_2) if count_1>=count_2: unit_2.is_alive=False else: unit_1.is_alive=False turns=min(count_1, count_2) unit_1.health=unit_1.health- turns*unit_2.attack unit_2.health=unit_2.health- turns*unit_1.attack return count_1>=count_2 if __name__ == '__main__': #These "asserts" using only for self-checking and not necessary for auto-testing chuck = Warrior() bruce = Warrior() carl = Knight() dave = Warrior() mark = Warrior() assert fight(chuck, bruce) == True assert fight(dave, carl) == False assert chuck.is_alive == True assert bruce.is_alive == False assert carl.is_alive == True assert dave.is_alive == False assert fight(carl, mark) == False assert carl.is_alive == False print("Coding complete? Let's try tests!")
转载请注明原文地址: https://www.6miu.com/read-5039046.html

最新回复(0)