中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

高中信息技術 學考復習 第3章 算法的程序實現 課時9 基本數據結構 課件(共54張PPT)

資源下載
  1. 二一教育資源

高中信息技術 學考復習 第3章 算法的程序實現 課時9 基本數據結構 課件(共54張PPT)

資源簡介

(共54張PPT)
第3章
課時9 基本數據結構
信息技術
課標梳理·微知著
教材重點 課標要求 學業質量水平
基本數據結構 掌握字符串、列表、字典等基本數據結構的使用方法 2-2
教材研析·固基礎
1.程序計算時,需要根據數據之間的邏輯關系和處理任務的要求,將各種數據組合成具有一定結構的復合體。如下某數據庫的“課程”數據表中的一條記錄就是一個復合體。
2.常用數據結構:字符串、列表、字典。
1
字符串String
1.概念:字符串是0個或多個字符組成的序列。
2.要點:
(1)字符串是不可變數據:即無法修改字符串的部分內容,必須修改全部的內容。
(2)字符串是Python中最常用的數據類型。可以使用引號('或″或 )來創建字符串。
(3)創建字符串很簡單,只要為變量分配一個字符串型的值即可。如:
var2=″China 2023!″
(4)Python不支持單字符類型,單字符在Python中也是作為一個字符串使用。
3.求字符串的字符個數
函數 描述 范例
len(seq) 返回序列的長度 len('Runoob')=6
4.訪問字符串中的值:通過索引(“切片”)。
(1)索引:標識每個字符在字符串中的位置。
①正索引(左 右):0起始
②負索引(左 右):-1起始
(2)“切片”:使用方括號 []和索引實現從字符串中取子串。
①格式字符串“切片”的語法格式:字符串變量名[頭索引:尾索引:步長]
范例:取str中的“N”的表達式為str[2]
·范例1:“切片”取字符串'Runoob'中的'u'和'un'
>>>s='Runoob'
>>>s[1:2:1]
'u'
>>>s[1:3]
'un'
·范例2:“切片”取字符串'Runoob'中的'uob'
>>>s='Runoob'
>>>s[1::2]
'uob'
·范例1:逆向“切片”取字符串'Runoob'中的'n'和'nu'
>>>s='Runoob'
>>>s[-4:-5:-1]
'n'
>>>s[-4:-6:-1]
'nu'
·范例2:逆向“切片”取字符串'Runoob'中的子串'bn'
>>>s='Runoob'
>>>s[-1:-4:-3]
'b'
>>>s[-1:-5:-3]
'bn'
典例1 變量a指向字符串對象'Python',從該字符串中取'Pn',表達式為______________________。
a[0:6:5]或a[:6:5]或a[::5]
典例2 變量a指向字符串對象'Python',正向取該字符串中的全部字符,表達式為___________或_________或________或______或_____。
a[0:6:1]
a[:6:1]
a[::1]
a[::]
a[:]
典例3 變量a指向字符串對象'Python',逆向取該字符串中的全部字符,正確的表達式為_____________或___________或______________________。
a[-1:-7:-1]
a[:-7:-1]
a[::-1](答案不唯一)
5.Python 字符串更新
可以截取字符串的一部分并與其他字符串拼接。運行實例如下:
典例4 字符串變量s=″Hello world″,如果想將字符串變量s中的字符″w″改成大寫″W″,下列操作可行的是( )
A.s=s[0:6]+″W″+s[7::]
B.s[6]=″W″
C.s[7]=″W″
D.s=s[1:7]+″W″+s[8::]
解析 我們可以訪問字符串中的單個字符,但卻不可以對其進行修改,因此選項B,C是錯誤的,字符串的正索引是從0開始進行編號的,所以答案選A。
A
典例5 有Python代碼如下:
a='ABCD'
a[1]='W'
print(a)
則運行代碼后,結果為________________。
程序將出錯
解析 代碼:a[1]='W'無法執行,因為字符串不能修改部分內容,必須修改其全部內容。
2
列表List
1.定義:列表是最常用的Python數據類型。它是一個由0個或多個元素組成的1個序列整體,序列中的每個值都有對應的位置值,稱之為索引,第一個索引是0,第二個索引是1,依此類推。
2.要點:
(1)列表是可變數據。
(2)列表的數據項(元素)不需要具有相同的類型→異質。
(3)列表的元素可以是數字、字符串等混合類型的數據,甚至可以是其他的列表(如下圖所示)。
3.創建列表:把逗號“,”分隔的不同的數據項使用方括號“[]”括起來即可。如下所示:
list1=['Google','Runoob',2023,2024]
list2=[1,2,3,4,5 ]
list3=[″a″,″b″,″c″,″d″]
list4=['red','green','blue','yellow','white','black']
范例:list1[1]表示列表list1中第2個元素('Runoob')。
4.Python內建函數
(1)確定序列的長度:len(列表名)
(2)確定最大元素:max(列表名)
(3)確定最小元素:min(列表名)
(4)求數值型列表的和:sum(列表名)
(5)求列表中某個元素出現的次數:列表名.count(統計的元素)
(6)將字符串轉換為列表:list(字符串)
范例
>>> list2=[1,2,3,4,5 ]
>>> max(list2)
5
>>> min(list2)
1
>>> len(list2)
5
>>> sum(list2)
15
>>>a=['中國','浙江','杭州','浙江']
>>>a.count('浙江')
>>>2
>>>s='我愛我的祖國!'
>>>list(s)
['我','愛','我','的','祖','國','!']
5.索引(訪問列表中的元素):與字符串相似。通過索引列表可以進行截取、組合。
(1)正向:從左側頭部開始,左側第1個元素索引為0。
(2)反向:從右側尾部開始,右側第1個元素索引為-1,往左為-2、-3、-4、…。
6.切片:取列表中的一段值
(1)正向切片(步長為正)
①格式:列表名[頭索引:尾索引:步長]
②要點
·頭索引省略,表示從最前面索引為0的項開始切片。
·尾索引省略,表示向右取完。
·步長表示取值時相鄰2項的跨度,省略時默認為1。
典例6 下圖所示名為nums列表的第3、4、5、6、7個值正向切片,運行結果為[30,40,50,60,70],則切片表達式為____________________。
nums
10 20 30 40 50 60 70 80 90

some_nums
30 40 50 60 70
nums[2:7](答案不唯一)
解析 觀察圖片可知切片元素的索引為2~6,根據“前閉后開”規則,所以切片表達式中頭索引為2,尾索引為6的后一個元素索引7。
典例7 取列表nums的第3、5、7個值正向切片,運行結果為[30,50,70],則切片表達式為______________________。
nums
10 20 30 40 50 60 70 80 90
nums[2:7:2](答案不唯一)
解析 要取的值跨度為2,所以步長為2;切片頭索引和尾索引的確定同上典例6。
典例8 取列表nums的第7個值往前到第1值的正向切片,運行結果為[10,20,30,40,50,60,70],則切片表達式為____________________________________________。
nums[0:7:1](或nums[:7:1] 或 nums[:7:] 或 nums[:7])
解析 第1個值的索引為0 頭索引為0(可以省略);第7個值的索引為6,“前閉后開” 尾索引為7;相鄰2元素跨度為1 步長為1(可以省略)。
(2)逆向切片(步長為負)
①格式:列表名[頭索引:尾索引:步長]
②要點
·頭索引省略,表示從最右面索引為-1的項開始切片。
·尾索引省略,表示向左取完。
典例9 取列表values的第5、4、3個值逆向切片,運行結果為['white','yellow', 'blue'],則切片表達式為____________________________。
values[-2:-5:-1](答案不唯一)
解析 values[-2:-5:-1]這個答案使用的是負索引的逆向切片,第5個值的反向索引是-2 頭索引為-2;第3個值的反向索引是-4,根據“前閉后開”規則,尾索引為其左側元素索引-5;逆向切片向量2元素跨度為1 步長為-1。 values[-2:-5:-1]。values[4:1:-1]這個答案使用的索引是正索引的逆向切片。
典例10 取values列表的第5 3個值跨度2逆向切片,運行結果為['white', 'blue'],則切片表達式為__________________________。
values[-2:-5:-2](答案不唯一)
解析 相鄰2元素的跨度為2 步長為-2。
典例11 取values列表的第5 1個值跨度1逆向切片,運行結果為['white', 'yellow','blue','green','red'],則切片表達式為________________________。
values[-2:-7:-1](答案不唯一)
解析 向左取完,所以尾索引為-7或者省略(使用正向索引的逆向切片時,頭索引為4,尾索引省略)。
典例12 取values列表的第6 3個值跨度1逆向切片,運行結果為['black', 'white','yellow','blue'],則切片表達式為____________________________。
values[-1:-5:-1](答案不唯一)
解析 向右取完,所以頭索引為-1或者省略(使用正索引的逆向切片時,頭索引為最右側元素正索引值5,根據“前閉后開”規則,尾索引為第3個元素的左側元素索引值1)。
典例13 取values列表所有值的逆向切片,運行結果為['black','white','yellow', 'blue','green','red'],則切片表達式為________________________________。
values[-1:-7:-1](答案不唯一)
解析 使用負索引時,頭索引為-1或者省略。尾索引為最左側元素索引值-6的下一個索引值-7,或者省略。相鄰2元素跨度為1,逆向切片,步長為-1。
7.更新列表
(1)對列表的數據項進行修改。格式:列表名[元素索引值]=元素值。
典例14 有如下Python程序段:
list1=['Google','Runoob',1997,2000]
list1[2]=2023
print(list1)
執行后,輸出的結果為____________________________。
['Google','Runoob',2023,2000]
解析 list1[2]=2023是將列表中索引為2的元素(第3個元素)替換為2023,所以print函數輸出列表時,原來第3個元素的值從1997變為2023。
(2)添加列表項。使用append()方法往列表尾部添加一個新元素。格式:列表名.append(元素值)。
典例15 有如下Python程序段:
list1=['G','R','T']
list1.append('B')
print(list1)
執行后,輸出的結果為______________。
['G','R','T','B']
解析 list1.append('B')是在原列表的最后添加一個新的元素'B'。
(3)插入列表元素。格式:列表名[插入位置索引:插入位置索引]=元素值。
往當前列表的某個位置插入列表或字符串時,被插入列表的每項、字串的每個字符都會作為list1的一個元素,而不會整體插入。
(4)列表拼接。使用腳本操作符“+”,在現有列表尾部拼接另一個列表對象,格式:列表名=列表名+拼接列表對象(或者“拼接列表名”)。
典例16 若list1=[1,2,3],list2=[4,5],則list1+list2的結果是______________。
[1,2,3,4,5]
解析 符號“+”的作用是將list2拼接于list1尾部。
典例17 火柴棍游戲。用火柴棍拼成數字0~9,具體拼法如圖所示:
編寫Python程序實現:運行程序時,輸入任意兩位正整數,輸出所需火柴棍的數量。
完善下列代碼:
num=int(input(″請輸入一個兩位正整數:″))
match=″6255456376″
a=num%10
b=①________
count=②_______________________
print(″共需火柴棍:″,count)
結合代碼,輸入一個兩位正整數,輸出所需火柴棍數量最多,則輸入的兩位正整數為③____。
num//10
int(match[a])+int(match[b])
88
解析 本題考查運算符及列表的綜合應用。a、b分別表示所輸正整數個位和十位的數字,故b=num//10;列表元素的訪問,第1個元素的索引號為0,對應數字0所需火柴棍的數量,所以該兩位正整數對應火柴棍的總數量為int(match[a])+int(match[b]);從match=“6255456376”可知數字8使用火柴棍的數量最多,確定答案為88。
(5)重復列表。使用腳本操作符“*”重復列表。格式:列表名*重復的遍數。
典例18 寫出下列Python語句的輸出結果:
print(['a','b'] 3)
①________________________
print([1,2,3] 3)
②________________________
['a','b','a','b','a','b']
[1,2,3,1,2,3,1,2,3] 
解析 腳本操作符“ ”用于重復列表,所以['a','b'] 3是將列表['a','b']重復了3遍;[1,2,3] 3是將列表[1,2,3]重復了3遍。
(6)嵌套列表。在主列表里嵌套其他子列表。格式為:主列表名=[子列表1,[子列表2,子列表3,……],……]
★取子列表中某個元素。格式為:主列表名[主列表中子列表相應的索引值][所取元素在子列表中的索引值]
典例19 結合上圖,寫出下列Python語句的輸出結果:
print(x[1])
①_____________
print(x[1][2])
②_______
[1,2,3]
3
解析 語句x=[a,n]是將列表a和列表n嵌套在了列表x中,列表a作為x的第1個元素(索引為0),列表n是x的第2個元素(索引為1),print(x[1])是要輸出列表x中索引值為1的元素,即列表n;print(x[1][2])是要輸出列表x中索引值為1的元素(列表n)中索引值為2的元素(第3個),即列表n[1,2,3]中的第3個元素3。
(7)檢查成員。使用成員運算符“in”/“not in”檢查對象是/不是列表成員。
典例20 有如下Python程序段:
a=['a','b','c']
n=[1,2,3]
a=a+n
print(2 in a,'b' not in n)執行后,輸出的結果為___________。
True True
解析 語句a=a+n用于將列表n中的元素拼接在列表a的后面,a列表為['a','b', 'c',1,2,3],所以2是a的成員,表達式“2 in a”的值為True;'b'不是列表n [1,2,3]中的成員,所以表達式“'b' not in n”的值為True。
3
字典Dictionary
1.定義:字典是由0個或多個元素組成的序列。每個元素是一個鍵值對,每個鍵值對的鍵和值之間用冒號“:”分隔,相鄰兩個鍵值對之間用逗號“,”分隔,整個字典包括在大括號 {} 中。
2.創建字典
 字典名={鍵1:值1,鍵2:值2,…,鍵n:值n}
 范例:inf={'姓名':'楊成器','性別':'男','單位':'國家電網','Tel':17706730306}
3.特點
(1)字典是可變數據。
(2)鍵和值是一一對應的。
(3)一個字典中,鍵必須是唯一的,但值則不必 同一個值可以對應多個鍵,但不允許同一個鍵出現多次,若創建時同一個鍵被賦值多次,則記錄其最后1個值。
(4)值可以取任何數據類型,但鍵必須是不可變的,如字符串,數字等,而不能用列表等可變對象。
4.訪問字典里的值:字典名[與訪問值相應的鍵名]。
典例21 有如下Python程序段:
inf={'姓名':'楊成器','性別':'男','單位':'國家電網','年齡':25}
print(inf['單位'],inf['年齡'])
執行后,輸出的結果為______________。
國家電網 25
解析 inf['單位']是訪問名為“inf”的字典中鍵為“單位”的值 “國家電網”(print函數輸出結果時,字符串不帶引號)。inf['年齡']同理。
典例22 有如下Python程序段:
color={'R':210,'G':120,'B':80,'R':245}
print(color['R'])
執行后,輸出的結果為_____。
245
解析 字典中,鍵必須是唯一的,不允許同一個鍵出現多次,若創建字典時同一個鍵被賦值多次,則記錄其最后1個值。字典color中,鍵“R”出現了2次,記錄它第2次的值245。
5.修改某個鍵的值
格式:字典名[要修改的鍵名]=新值
典例23 有如下Python程序段:
color={'G':120,'B':80,'R':245}
color['R']=198
print(color['R'])
執行后,輸出的結果為_____。
198
解析 語句“color['R']=198”將鍵“R”的值修改為198。
6.添加元素
格式:字典名[新鍵]=新值
典例24 有如下Python程序段:
book={'書名':'射雕英雄傳','作者':'金庸','類別':'武俠'}
________________
print(book)
執行后,輸出的結果為:{'書名': '射雕英雄傳','作者': '金庸','類別': '武俠','售價': 92}。則劃線處代碼應為_______________。
book['售價']=92
解析 輸出結果中的字典比原來的字典在最后多了1個新元素,添加元素的格式為:字典名[新鍵]=新值,所以在print函數輸出結果前,語句“book['售價']=92”添加了鍵為“售價”、值為92的新元素。
7.常用內置函數
(1)len(字典名):計算字典元素個數,即鍵的總數。
典例25 有如下Python程序段:
book={'書名':'射雕英雄傳','作者':'金庸','類別':'武俠','售價':92}
print(len(book))
執行后,輸出的結果為______。
(2)str(字典名):將字典作為字符串輸出
4
解析 “len(book)”用于統計字典“book”的元素個數,book字典有4個用逗號分隔的元素。
典例26 字典dic中“鍵”存儲的是小組成員姓名,“值”是各成員對應的年齡,具體如下:
dic={'Michael':32,'Sarah':26,'Tracy':35,'Bob':36,'Jack':18}
現在請你根據題意,寫出下面相應的Python程序代碼。
①輸出姓名為'Sarah'的年齡
________________________________。
②修改姓名為'Jack'的年齡,將其更正為19
________________________________。
③添加成員:年齡為17的Tom
________________________________。
print(dic['Sarah'])
dic['Jack']=19
dic['Tom']=17
解析 本題考核對字典的訪問,字典通過“鍵”來完成訪問,而“鍵”是唯一的。直接訪問“鍵”'Sarah',輸出其對應的年齡:print(dic['Sarah'])。可以通過字典的“鍵”給字典添加元素,如果字典里已存在該“鍵”的值,則會覆蓋,如果不存在,則會添加新元素。因為存在“鍵”'Jack',所以可以直接更改'Jack'的年齡。由于不存在“鍵”'Tom',所以添加新元素'Tom',同時賦予相應“值”17。

展開更多......

收起↑

資源預覽

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 扶余县| 九龙县| 辽阳市| 湖口县| 林口县| 顺昌县| 将乐县| 建宁县| 高邮市| 韩城市| 信阳市| 长治县| 阳西县| 准格尔旗| 永嘉县| 水城县| 定兴县| 东阿县| 蓝田县| 买车| 新河县| 满洲里市| 磐石市| 射阳县| 龙川县| 元朗区| 江安县| 龙门县| 永州市| 浙江省| 肃北| 荣昌县| 师宗县| 淳安县| 兴宁市| 韩城市| 武山县| 东平县| 天长市| 土默特右旗| 株洲市|