首页 > 其他 > 详细

2020.4.19 练习

时间:2020-04-20 09:28:08      阅读:53      评论:0      收藏:0      [点我收藏+]

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 练习

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!