类的练习操作

"""
设计:Python程序设计
作者:初学者
日期:2022年 05月 22日
"""
"""
 定义敌人类
    数据:姓名,血量,基础攻击力,防御力
    行为:打印个人信息
    创建敌人列表(至少4个元素)
    查找姓名为“成昆”的敌人对象
    把“陈友谅”的血量修改为0
    查找所有死亡的敌人对象
    计算所有敌人的平均攻击力
    删除防御力小于10 的敌人
    将敌人所有攻击力增加100
"""


class Enemy:
    def __init__(self, name, hp, atk, defensive):
        self.name = name
        self.hp = hp
        self.atk = atk
        self.defensive = defensive

    def print_info(self):
        print("%s 的血量是 %d,基础攻击力是 %d,防御力是 %d" % (self.name, self.hp, self.atk, self.defensive))


list_ = [
    Enemy("成昆", 100, 800, 300),
    Enemy("陈友谅", 30, 100, 8, ),
    Enemy("鸠摩智", 200, 1200, 800),
    Enemy("玄冥二老", 300, 1008, 900),
]


def find_name():
    for item in list_:
        if item.name == "成昆":
            return item


name = find_name()
name.print_info()


def amend_hp():
    for item in list_:
        if item.name == "陈友谅":
            item.hp = 0
            return item


hp = amend_hp()
hp.print_info()


def find_hp():
    list_hp = []
    for item in list_:
        if item.hp == 0:
            list_hp.append(item)
            return list_hp


re = find_hp()
for i in re:
    i.print_info()


def count_mean():
    count = 0
    for item in list_:
        count += item.atk
    return count / len(list_)


mean = count_mean()
print(mean)


def del_defensive():
    for item in range(len(list_) - 1, -1, -1):
        if list_[item].defensive < 10:
            del list_[item]

            return list_


del_defensive()
for i in list_:
    i.print_info()


def add_atk():
    for item in list_:
        item.atk += 50


add_atk()
for item in list_:
    item.print_info()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洪荒宇宙py

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值