码迷,mamicode.com
首页 > 其他好文 > 详细

2020.4.19 练习

时间:2020-04-20 09:15:45      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:object   整数   int   实例   函数   __init__   eal   har   orm   

1. 

创建一个函数,该函数返回两个战斗机之间的战斗中获胜者的名字。

每个战斗机轮流攻击对方,而首先杀死对方的人是胜利的。死亡被定义为具有health <= 0

每个战斗机将是一个Fighter对象/实例。请以您选择的语言查看下面的Fighter类。

这两个healthdamagePerAttackdamage_per_attack为Python)将整数大于0您可以变异Fighter对象。

不会

class Fighter(object):
    def __init__(self, name, health, damage_per_attack):
        self.name = name
        self.health = health
        self.damage_per_attack = damage_per_attack

    # def __str__(self):
    #     return "Fighter({}, {}, {})".format(self.name, self.health, self.damage_per_attack)
    # __repr__=__str__

def declare_winner(fighter1, fighter2, first_attacker):
    cur, opp = (fighter1, fighter2) if first_attacker == fighter1.name else (fighter2, fighter1)  # cur 是先出手的人
    while cur.health > 0:        
        opp.health -= cur.damage_per_attack
        cur, opp = opp, cur
    return opp.name

print(declare_winner(Fighter("Lew", 10, 2),Fighter("Harry", 5, 4), "Lew"))

 

2020.4.19 练习

标签:object   整数   int   实例   函数   __init__   eal   har   orm   

原文地址:https://www.cnblogs.com/adelinebao/p/12735549.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!