(
课件网) Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. 少儿编程课 列表与字典综合运用 这一节我们进行list和dict的综合运用,来做英雄排行榜的数据部分和后台逻辑 下面开始做一个英雄选择器的后台逻辑,来综合使用下list和dict 我们用list和dict来存储英雄的数据,以小黑这个人物为例: 他有4个技能,可以存成list 1 小黑的基本信息,如姓名、生命值、攻击力防御力等,可以定义普通变量表示 2 skills = ['一黑横空', '黑渡迷津', '黑之纵横', '黑下乾坤'] name = ‘小黑' # 姓名 hp = 1000 # 血量 mp = 800 # 魔法量 ap = 45 # 攻击力 dp = 20 # 防御力 如果用一个dict表示小黑,也即既有小黑的基本信息,又有小黑的技能列表,可以这样做: 3 hero = { 'name': ‘小黑', 'hp': 1000, 'mp': 800, 'ap': 45, 'dp': 20, 'skills': ['一黑横空', '黑渡迷津', '黑之纵横', '黑下乾坤'], } 这就是将list作为dict的元素了。 定义好一个英雄之后,我们可以依次类推定义多个人的信息 定义多个人的信息 1 hero1 = { 'name': '小黑', 'hp': 1000, 'mp': 800, 'ap': 45, 'dp': 20, 'skills': ['一黑横空', '黑渡迷津', '黑之纵横', '黑下乾坤'], } hero2 = { 'name': '黑小妹', 'hp': 800, 'mp': 1000, 'ap': 50, 'dp': 18, 'skills': ['貂蝉拜月', '西施捧心', '昭君出塞', '贵妃醉酒'], } hero_list = [hero1, hero2] hero_list = [{ 'name': '小黑', 'hp': 1000, 'mp': 800, 'ap': 45, 'dp': 20, 'skills': ['一黑横空', '黑渡迷津', '黑之纵横', '黑下乾坤'], }, { 'name': '黑小妹', 'hp': 800, 'mp': 1000, 'ap': 50, 'dp': 18, 'skills': ['貂蝉拜月', '西施捧心', '昭君出塞', '贵妃醉酒'], }] 或者直接一步到位,省去定义变量的麻烦: 2 为了将英雄归到对应的分类中去,我们还要指定英雄的角色属性信息 单个角色的全部信息如下 1 全部英雄的信息如下: 2 { 'name': '小黑', 'hp': 1000, 'mp': 800, 'ap': 45, 'dp': 20, 'skills': ['一黑横空', '黑渡迷津', '黑之纵横', '黑下乾坤'], 'is_warrior': True, 'is_mage': False, 'is_hunter': False } hero_list = [ {'name': '小黑', 'hp': 1000, 'mp': 800, 'ap': 45, 'dp': 20, 'skills': ['一黑横空', '黑渡迷津', '黑之纵横', '黑下乾坤'], 'is_warrior': True, 'is_mage': False, 'is_hunter': False, }, {'name': '黑小妹', 'hp': 1200, 'mp': 700, 'ap': 35, 'dp': 21, 'skills': ['貂蝉拜月', '西施捧心', '昭君出塞', '贵妃醉酒'], 'is_warrior': True, 'is_mage': True, 'is_hunter': False, }, {'name': '黑大元', 'hp': 1100, 'mp': 600, 'ap': 38, 'dp': 17, 'skills': ['千里横行', '寒刀断水', '狂龙破日', '天地无情'], 'is_warrior': True, 'is_mage': False, 'is_hunter': True, }, {'name': '黑当归', 'hp': 900, 'mp': 1100, 'ap': 44, 'dp': 17, 'skills': ['流水行云', '披云戴月', '翻云覆雨', '排山倒海'], 'is_warrior': False, 'is_mage': True, 'is_hunter': False, }, {'name': '黑鱼儿', 'hp': 1000, 'mp': 1000, 'ap': 42, 'dp': 23, 'skills': ['小楫轻舟', '扁舟一叶', '大江似练', '沧波万顷'], 'is_warrior': False, 'is_mage': False, 'is_hunter': True, } ] 数据准备好了,接下来就可以编写对应的功能了 查找所有英雄的姓名 1 for x in hero_list: print(x.get('name')) 练习 Exercises 密 封 线 内 不 准 答 题 练习:查找所有战士的名 ... ...