資源簡(jiǎn)介 (共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.少兒編程課列表與字典綜合運(yùn)用這一節(jié)我們進(jìn)行l(wèi)ist和dict的綜合運(yùn)用,來(lái)做英雄排行榜的數(shù)據(jù)部分和后臺(tái)邏輯下面開始做一個(gè)英雄選擇器的后臺(tái)邏輯,來(lái)綜合使用下list和dict我們用list和dict來(lái)存儲(chǔ)英雄的數(shù)據(jù),以小黑這個(gè)人物為例:他有4個(gè)技能,可以存成list1小黑的基本信息,如姓名、生命值、攻擊力防御力等,可以定義普通變量表示2skills = ['一黑橫空', '黑渡迷津', '黑之縱橫', '黑下乾坤']name = ‘小黑' # 姓名hp = 1000 # 血量mp = 800 # 魔法量ap = 45 # 攻擊力dp = 20 # 防御力如果用一個(gè)dict表示小黑,也即既有小黑的基本信息,又有小黑的技能列表,可以這樣做:3hero = {'name': ‘小黑','hp': 1000,'mp': 800,'ap': 45,'dp': 20,'skills': ['一黑橫空', '黑渡迷津', '黑之縱橫', '黑下乾坤'],}這就是將list作為dict的元素了。定義好一個(gè)英雄之后,我們可以依次類推定義多個(gè)人的信息定義多個(gè)人的信息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為了將英雄歸到對(duì)應(yīng)的分類中去,我們還要指定英雄的角色屬性信息單個(gè)角色的全部信息如下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': ['千里橫行', '寒刀斷水', '狂龍破日', '天地?zé)o情'],'is_warrior': True, 'is_mage': False, 'is_hunter': True, },{'name': '黑當(dāng)歸', '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': ['小楫輕舟', '扁舟一葉', '大江似練', '滄波萬(wàn)頃'],'is_warrior': False, 'is_mage': False, 'is_hunter': True, }]數(shù)據(jù)準(zhǔn)備好了,接下來(lái)就可以編寫對(duì)應(yīng)的功能了查找所有英雄的姓名1for x in hero_list:print(x.get('name'))練習(xí)Exercises密封線內(nèi)不準(zhǔn)答題練習(xí):查找所有戰(zhàn)士的名字for x in hero_list:if x.get('is_warrior'):print(x.get('name'))數(shù)據(jù)準(zhǔn)備好了,接下來(lái)就可以編寫對(duì)應(yīng)的功能了獲取所有戰(zhàn)士的技能列表2for x in hero_list:if x.get('is_warrior'):print('*' * 10)print(x.get('name') + '的技能有:')for skill in x['skills']:print(skill)最后我們?cè)賮?lái)實(shí)現(xiàn)一個(gè)模糊查詢的功能也就是判斷一個(gè)字符串中是否包含另一個(gè)字符串,可以這樣:1也可以這樣:3name = '黑大元'if '大' in name:print('匹配')name = '黑大元'if name.find('大') != -1:print('匹配')練習(xí)Exercises密封線內(nèi)不準(zhǔn)答題使用上兩種方法中的任意一種,為英雄選擇器提供模糊查詢功能吧總結(jié)Summarylist的格式,元素和下標(biāo),list中的增、插入、刪、改、查等方法√dict的格式,key和value,dict中的增、刪、改、查等方法√list和dict的嵌套使用、雙重for循環(huán)的執(zhí)行流程理解√字符串是否在另一個(gè)字符串中的判斷√作業(yè)Homework請(qǐng)計(jì)算英雄選擇器中五種英雄的平均血量,注意避免“hard coding”Thanks! 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來(lái)源于二一教育資源庫(kù)