资源简介 (共15张PPT)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个技能,可以存成list1小黑的基本信息,如姓名、生命值、攻击力防御力等,可以定义普通变量表示2skills = ['一黑横空', '黑渡迷津', '黑之纵横', '黑下乾坤']name = ‘小黑' # 姓名hp = 1000 # 血量mp = 800 # 魔法量ap = 45 # 攻击力dp = 20 # 防御力如果用一个dict表示小黑,也即既有小黑的基本信息,又有小黑的技能列表,可以这样做:3hero = {'name': ‘小黑','hp': 1000,'mp': 800,'ap': 45,'dp': 20,'skills': ['一黑横空', '黑渡迷津', '黑之纵横', '黑下乾坤'],}这就是将list作为dict的元素了。定义好一个英雄之后,我们可以依次类推定义多个人的信息定义多个人的信息1hero1 = {'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, }]数据准备好了,接下来就可以编写对应的功能了查找所有英雄的姓名1for x in hero_list:print(x.get('name'))练习Exercises密封线内不准答题练习:查找所有战士的名字for x in hero_list:if x.get('is_warrior'):print(x.get('name'))数据准备好了,接下来就可以编写对应的功能了获取所有战士的技能列表2for x in hero_list:if x.get('is_warrior'):print('*' * 10)print(x.get('name') + '的技能有:')for skill in x['skills']:print(skill)最后我们再来实现一个模糊查询的功能也就是判断一个字符串中是否包含另一个字符串,可以这样:1也可以这样:3name = '黑大元'if '大' in name:print('匹配')name = '黑大元'if name.find('大') != -1:print('匹配')练习Exercises密封线内不准答题使用上两种方法中的任意一种,为英雄选择器提供模糊查询功能吧总结Summarylist的格式,元素和下标,list中的增、插入、删、改、查等方法√dict的格式,key和value,dict中的增、删、改、查等方法√list和dict的嵌套使用、双重for循环的执行流程理解√字符串是否在另一个字符串中的判断√作业Homework请计算英雄选择器中五种英雄的平均血量,注意避免“hard coding”Thanks! 展开更多...... 收起↑ 资源预览