"""
设计: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()
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交