資源簡(jiǎn)介 專題4 Python語(yǔ)言基礎(chǔ)學(xué)業(yè)要求 知 識(shí) 點(diǎn) 學(xué)業(yè)水平等級(jí)1.掌握Python的基本數(shù)據(jù)類型和算術(shù)、關(guān)系和邏輯運(yùn)算符 22.掌握Python基本數(shù)據(jù)結(jié)構(gòu),字符串,列表,字典 23.掌握分支和循環(huán)控制結(jié)構(gòu)的應(yīng)用 2知識(shí)點(diǎn)一 Python表達(dá)式【知識(shí)梳理】1.Python常見的數(shù)據(jù)類型:________型、實(shí)型、________型、布爾型。2.Python中有**,________,/,//,%,+,-,七種算術(shù)運(yùn)算符,<,<=,>,>=,==,________,in,七種關(guān)系運(yùn)算符,以及not,________,or三種邏輯運(yùn)算符。3.變量是指程序運(yùn)行過程中可以________的量,賦值就是給變量賦予某個(gè)“值”。4.Python常見的內(nèi)建函數(shù):print(x)、input([prompt])、int(object)、float(object)、abs(x)、help()、len(seq)、str(x)、chr(x)、ord(x)、round(x[,n])、max(s,[,args...])、min(s,[,args...])。【經(jīng)典案例】表達(dá)式是程序設(shè)計(jì)語(yǔ)言的基礎(chǔ),包含了變量和常量區(qū)別、數(shù)據(jù)中數(shù)值、字符串等的基本數(shù)據(jù)類型,可以通過常用的函數(shù)進(jìn)行類型間的轉(zhuǎn)換,也可以通過數(shù)值的函數(shù)進(jìn)行簡(jiǎn)單的計(jì)算,同時(shí)也包含了英語(yǔ)字母與其ASCII值之間的互相轉(zhuǎn)換。各種表達(dá)式可以通過關(guān)系運(yùn)算符進(jìn)行連接,多個(gè)關(guān)系運(yùn)算符可以通過邏輯運(yùn)算符連接成一個(gè)邏輯表達(dá)式。【例1】 下列Python表達(dá)式結(jié)果最小的是( )A.int(″1″+″3″)//4B.1314//100%10C.2**3//3+8%2*3D.round(20**0.5+int(-1.6))思維點(diǎn)撥明考向 本題考查Python表達(dá)式和自定義函數(shù)精點(diǎn)撥 A 為int(″13″)//4=3B 1314//100=13,13%10=3C 乘方的優(yōu)先級(jí)高于整除等,2**3//3=8//3=2,8%2*3=0*3=0D int(-1.6)=-1,20**0.5即20的平方根,介于4和5之間,靠近4,因此選項(xiàng)D結(jié)果為3聽課筆記:______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________【變式1】 下列Python表達(dá)式中,計(jì)算結(jié)果最大的是( )A.abs(2-4**2) B.len(″ord(A)″)C.3**3//2 D.int(1.34*10+0.5)【例2】 下列Python表達(dá)式的值為True的是( )A.″3″>″12″and″apple″>″app″ B.″school″[:2]==″sch″C.″sd″in″student″ D.round(-4.6)==int(-4.4)思維點(diǎn)撥明考向 本題考查Python表達(dá)式精點(diǎn)撥 A ″3″>″12″為True,″apple″>″app″也為True,因此結(jié)果為TrueB ″school″[:2]值為″sc″,兩者不相等C ″student″不存在″sd″子串D round(-4.6)值為-5,而int(-4.4)值為-4聽課筆記:______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________【變式2】 下列Python表達(dá)式中,值為True的是( )A.1>ord(″0″) B.20//6<20%6C.5%3**2==4 D.″49″<″7″【例3】 某銀行的理財(cái)產(chǎn)品收益計(jì)算規(guī)則為:理財(cái)收益=本金×年化預(yù)期收益÷360天×理財(cái)天數(shù)。若某用戶購(gòu)買該理財(cái)產(chǎn)品的本金為M,年化預(yù)期收益為Y,理財(cái)天數(shù)為t,則計(jì)算理財(cái)收益(四舍五入保留1位小數(shù))的Python表達(dá)式應(yīng)為( )A.M*Y/360*t B.int((M*Y/360*t)*10+0.5)/10C.float(M*Y/360*t) D.abs(M*Y/360*t)思維點(diǎn)撥明考向 本題考查Python表達(dá)式精點(diǎn)撥 對(duì)一個(gè)數(shù)x四舍五入保留1位小數(shù)的表達(dá)式為(x*10+0.5)/10,根據(jù)公式,收益表達(dá)式為M*Y/360*t,答案為B聽課筆記:_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________【變式3】 有100位同學(xué)排成一列,從第一位同學(xué)開始按1至100的序號(hào)進(jìn)行報(bào)數(shù),所報(bào)序號(hào)含有6的同學(xué)需要出列。則判斷序號(hào)x是否出列的Python表達(dá)式是( )A.x%10==6B.x//10==6C.x%10==6 and x//10==6D.x%10==6 or x//10==6知識(shí)點(diǎn)二 數(shù)據(jù)類型之字符串和列表【知識(shí)梳理】1.Python中基礎(chǔ),常用的數(shù)據(jù)結(jié)構(gòu):________,________,________。2.字符串和列表都是由一些數(shù)據(jù)元素共同組成的一個(gè)序列整體。字符串用________號(hào)、雙引號(hào)或三引號(hào)表示。列表用方括號(hào)“________”表示,元素之間用逗號(hào)“,”分隔。3.創(chuàng)建名為________的列表:list=[元素1,元素2,……,元素n]。4.訪問單個(gè)元素的方式:列表名[________],字符串[索引號(hào)]。5.訪問一定范圍內(nèi)的多個(gè)元素,列表名[開始元素序號(hào):________元素序號(hào)的后一個(gè)字號(hào):步長(zhǎng)]。步長(zhǎng):正負(fù)數(shù)均可,正數(shù)表示“從左往右”取值,負(fù)數(shù)表示“從右往左”取值,步長(zhǎng)的絕對(duì)值大小決定了訪問數(shù)據(jù)的步長(zhǎng)。步長(zhǎng)省略時(shí),默認(rèn)為1。開始元素序號(hào):表示起始索引,該參數(shù)省略時(shí),表示從列表的左端點(diǎn)開始取值。結(jié)束元素序號(hào)的后一個(gè)序號(hào):表示終止索引,該參數(shù)省略時(shí),表示一直取到列表的右端點(diǎn)。在索引查找時(shí),不能訪問一個(gè)不存在的元素,程序會(huì)報(bào)錯(cuò),提示索引值越界。【經(jīng)典案例】字符串本質(zhì)就是字符序列,可以通過字符串后面添加[index],可以指定偏移量,提取該位置的單個(gè)字符。使用input函數(shù)從控制臺(tái)讀取鍵盤輸入的內(nèi)容都是字符串類型。Python的字符串是不可變的,無(wú)法對(duì)原字符串做任何修改,但可以將字符串的一部分復(fù)制到新創(chuàng)建的字符串達(dá)到看起來修改的效果。字符串s可以采用正索引表示,索引號(hào)從0至len(s)-1。也可以采用負(fù)索引,索引號(hào)從-len(s)至-1。切片是一個(gè)左閉右開的區(qū)間,即左端是取得到,右端是取不到的。列表是一種數(shù)據(jù)容器,用中括號(hào)″[]″表示。列表的長(zhǎng)度往往是固定的,通過列表的索引位置來訪問列表元素,但要注意索引的范圍不能越界。因此列表在使用前,往往要初始化分配需要的空間,當(dāng)空間不夠時(shí),可以使用append方法進(jìn)行添加數(shù)據(jù)元素。【例1】 某超市用13位數(shù)字標(biāo)識(shí)商品信息,其中8~12位是表示商品名的代碼,用字符串變量s存儲(chǔ)商品的信息碼(例如:s=″9787100109796″,商品名代碼是″10979″),下列Python表達(dá)式中能取出商品名代碼的是( )A.s[-6:-1] B.s[7:11]C.s[8:12] D.s[7:-2]思維點(diǎn)撥明考向 本題考查字符串的切片精點(diǎn)撥 A 在索引序號(hào)為倒序的情況下,從-1開始,則切片序號(hào)為-6:-1B 商品名代碼位置為8至12位。而字符串的索引從0開始到11結(jié)束,在切片時(shí)終值取不到,切片序號(hào)為7:12C 起始位置不對(duì),第8個(gè)位置的索引為7D 結(jié)束位置不對(duì),取到倒數(shù)第2個(gè),則需用-1表示聽課筆記:_________________________________________________________________________________________________________________________________________________________________________________________________________【變式1】 列表IDlist存儲(chǔ)了某校所有學(xué)生身份證號(hào)碼,如要分別統(tǒng)計(jì)1~12月份出生的人數(shù),Python程序代碼如下:count=[0]*12for i in________:mon=int(i[10:12]) #從身份證中提取月份____________for i in range(12):print(i+1,″月份人數(shù)為″,count[i])為實(shí)現(xiàn)上述功能,劃線處自上而下依次填入的代碼是:①IDlist ②range(len(IDlist)) ③count[mon-1]+=1 ④count[mon]+=1代碼順序正確的是( )A.②③ B.②④C.①④ D.①③【例2】 左右對(duì)稱的字符串稱回文串。若要判斷字符串s是否為回文串,可以先找到s的中間位置mid=len(s)//2;再采用切片操作取出s的左半部分left=s[0:mid];然后取出s的右半部分并反轉(zhuǎn),存儲(chǔ)在變量right中;若left與right相等,則為回文串。則下列表達(dá)式能正確表達(dá)變量right值的是( )A.s[mid::][::-1] B.s[mid+1::][::-1]C.s[len(s)-1:mid:-1] D.s[-1:-mid-1:-1]思維點(diǎn)撥明考向 本題考查字符串的切片精點(diǎn)撥 回文字符串左邊一半為1至mid-1,其索引為0至mid,右邊一半為倒數(shù)第1個(gè)至倒數(shù)第mid個(gè),因此索引為-1至-mid,步長(zhǎng)為-1,但range的右邊界要取到,必須加上步長(zhǎng)聽課筆記:________________________________________________________________________________________________________________________________________________________________________________________________________【變式2】 中國(guó)大陸第二代居民身份證由18位數(shù)字組成,其中第7至14位數(shù)字代表居民的出生年月日,現(xiàn)將身份證號(hào)碼保存在字符串變量sf中,小明想提取出身份證上的出生年月日,以下四個(gè)選項(xiàng)中錯(cuò)誤的是( )A.sf[7:15] B.sf[6:14]C.sf[-12:-4] D.sf[6:-4]知識(shí)點(diǎn)三 字 典【知識(shí)梳理】1.字典可包含多個(gè)元素,每個(gè)元素包含兩部分內(nèi)容:________和值。鍵通常用字符串或數(shù)值表示,值可以是任意類型的數(shù)據(jù)。鍵和值兩者一一對(duì)應(yīng),每個(gè)鍵只能對(duì)應(yīng)________個(gè)值。2.字典中的元素是________順序的,引用元素時(shí)以________為索引。創(chuàng)建名為dic的字典:dic={鍵1:值1,鍵2:值2,……,鍵n:值n}。【經(jīng)典案例】字典是一個(gè)無(wú)序、可變和有索引的集合,每個(gè)鍵值key:value對(duì)用冒號(hào):分割,每個(gè)鍵值對(duì)之間用逗號(hào)分割,整個(gè)字典包括在花括號(hào){}中。字典可以看成是按行存儲(chǔ)數(shù)據(jù)的結(jié)構(gòu)類型,每個(gè)鍵值對(duì)看成數(shù)據(jù)的一行,鍵是索引,值可以是一列,也可以多列。用字典dic中創(chuàng)建或修改鍵key的值為value語(yǔ)句為dic[key]=value,當(dāng)鍵key不存在時(shí),會(huì)創(chuàng)建一個(gè)鍵值對(duì),若鍵key存在,則會(huì)修改其對(duì)應(yīng)的值。如果多列則把值放在列表中。字典鍵的查找時(shí)間復(fù)雜度為O(1),鍵是不能重復(fù)的,查找的鍵如果不存在,將報(bào)錯(cuò),因此往往需先判斷是否存在鍵。【例1】 已知字典dic={″姓名″:″小明″,″語(yǔ)文″:115,″數(shù)學(xué)″:120,″英語(yǔ)″:108},下列說法不正確的是( )A.dic[″語(yǔ)文″]+dic[″數(shù)學(xué)″]+dic[″英語(yǔ)″]的值是343B.若要將學(xué)生姓名更改為″小華″,可執(zhí)行語(yǔ)句dic[″姓名″]=″小華″C.若要添加該同學(xué)的技術(shù)成績(jī)?yōu)?5,可執(zhí)行語(yǔ)句dic[″技術(shù)″]=75D.dic[″英語(yǔ)″] in dic的值為True思維點(diǎn)撥明考向 本題考查字典的屬性精點(diǎn)撥 A dic[″語(yǔ)文″]、dic[″數(shù)學(xué)″]和dic[″英語(yǔ)″]的值依次為115、120和108,三者相加為343B 每個(gè)鍵值key:value對(duì)用冒號(hào):分割,用字典dic中創(chuàng)建或修改鍵key的值為value語(yǔ)句為dic[key]=value,當(dāng)鍵key不存在時(shí),會(huì)創(chuàng)建一個(gè)鍵值對(duì),若鍵key存在,則會(huì)修改其對(duì)應(yīng)的值C 技術(shù)在字典中不存在,因此為創(chuàng)建一個(gè)新鍵值對(duì)D ″英語(yǔ)″in dic值為True,而dic[″英語(yǔ)″]值為108,而字典中沒有這個(gè)鍵聽課筆記:_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________【變式1】 王老師用字典存儲(chǔ)了學(xué)生的學(xué)號(hào)、班級(jí)、姓名數(shù)據(jù),如:stu={″20230324″:[″1班″,″張三″],″20231223″:[″2班″,″李四″]...},則獲取學(xué)號(hào)為“20230324”同學(xué)姓名的Python表達(dá)式是( )A.stu[0][1] B.stu[″20230324″][1]C.stu[″20230324″][″姓名″] D.stu{″20230324″}[1]【例2】 天干地支,源自中國(guó)遠(yuǎn)古時(shí)代對(duì)天象的觀測(cè),十天干和十二地支依次相配,兩者按固定的順序搭配,組成天干地支紀(jì)年法。干支紀(jì)年一個(gè)周期第一年為“甲子”,第二年為“乙丑”,依此類推,60年一個(gè)周期。十二地支與十二生肖相配,是中國(guó)民間計(jì)算年齡的方法,如1984年為甲子年,生肖為鼠。已知年份的最后一位數(shù)字對(duì)應(yīng)天干,用已知年份除以12,求得的余數(shù)代表地支。對(duì)應(yīng)關(guān)系如下:數(shù)字 4 5 6 7 8 9 0 1 2 3天干 甲 乙 丙 丁 戊 己 庚 辛 壬 癸數(shù)字 4 5 6 7 8 9 10 11 0 1 2 3地支 子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥生肖 鼠 牛 虎 兔 龍 蛇 馬 羊 猴 雞 狗 豬(1)按照上述算法,2022年對(duì)應(yīng)的天干地支生肖為________。(2)將程序劃線處補(bǔ)全代碼。year=int(input(″請(qǐng)輸入年份:″))#天干字典dic1={4:″甲″,5:″乙″,6:″丙″,7:″丁″,8:″戊″,9:″己″,0:″庚″,1:″辛″,2:″壬″,3:″癸″}#地支字典dic2={4:″子″,5:″丑″,6:″寅″,7:″卯″,8:″辰″,9:″巳″,10:″午″,11:″未″,0:″申″,1:″酉″,2:″戌″,3:″亥″}a=①________b=y(tǒng)ear%12c=dic1[a]+②________print(″天干地支為:″,c)#生肖字典,以地支為″鍵″,以生肖為″值″dic3={″子″:″鼠″,″丑″:″牛″,″寅″:″虎″,″卯″:″兔″,″辰″:″龍″,″巳″:″蛇″,″午″:″馬″,″未″:″羊″,″申″:″猴″,″酉″:″雞″,″戌″:″狗″,″亥″:″豬″}print(″生肖為:″,③________)(3)地支“子”對(duì)應(yīng)的生肖應(yīng)為“鼠”,修改字典dic3對(duì)應(yīng)內(nèi)容的語(yǔ)句為________。思維點(diǎn)撥明考向 本題考查字典的綜合應(yīng)用精點(diǎn)撥 (1)通過對(duì)題干的解讀可得2022最后一位為2,天干對(duì)應(yīng)壬,除以12后余數(shù)為6,地支對(duì)應(yīng)寅,因此答案為壬寅虎。(2)①解讀程序可得c為天干地支連接起來的值,因此a表示天干,需要得到年份的最后一位,用year%10。②b為年份除以12的余數(shù),用作訪問字典dic2的鍵,因此答案為:dic2[b]。③最后需要再加上生肖,dic2的值為訪問dic3的鍵,因此答案為:dic3[dic2[b]]。(3)修改字典與新增的方法一樣聽課筆記:_________________________________________________________________________________________________________________________________________________________________________________________________________【變式2】 通過調(diào)查發(fā)現(xiàn),人們普遍認(rèn)為帶有數(shù)字2、6、8的車牌比較吉利,而帶有數(shù)字4的車牌則不吉利。小石想通過編寫程序來計(jì)算車牌的吉利值:其中數(shù)字2吉利值為1,數(shù)字6吉利值為2,數(shù)字8吉利值為3,數(shù)字4的吉利值為-2,其他數(shù)字吉利值為0。如車牌號(hào)“浙H94286”的吉利值為4。程序代碼如下:dic={″2″:1,″6″:2,″8″:3,″4″:-2}cp=input(″請(qǐng)輸入車牌號(hào)(格式如“浙H94286”):″)count=0for i in range(2,①________):x=cp[i]if x in [″2″,″4″,″6″,″8″]:count+=②________print(″該車牌號(hào)的吉利值為:″,count)為實(shí)現(xiàn)功能,劃線處代碼應(yīng)為( )A.①len(cp)-1 ②dic[x]B.①len(cp) ②dic[int(x)]C.①len(cp)-1 ②dic[int(x)]D.①len(cp) ②dic[x]知識(shí)點(diǎn)四 控制結(jié)構(gòu)【知識(shí)梳理】1.一個(gè)分支或循環(huán)結(jié)構(gòu)可以看成某個(gè)功能模塊,把整個(gè)結(jié)構(gòu)看成是一條語(yǔ)句,一個(gè)程序可以理解為多條語(yǔ)句組成的順序結(jié)構(gòu)。2.分支結(jié)構(gòu)也稱為________結(jié)構(gòu),分為________分支結(jié)構(gòu)、________分支結(jié)構(gòu)和________分支結(jié)構(gòu)。也可以由多個(gè)分支的組成多條個(gè)選擇結(jié)構(gòu),也可以分支結(jié)構(gòu)內(nèi)部嵌套一個(gè)或多個(gè)分支結(jié)構(gòu)。3.多分支選擇結(jié)構(gòu)有________個(gè)選擇條件,從上往下依次檢測(cè)條件是否成立,若成立,執(zhí)行下方語(yǔ)句,分支結(jié)構(gòu)只可能執(zhí)行其中________個(gè)步驟,在else語(yǔ)句中也可能包含多個(gè)條件,若沒有else語(yǔ)句,則滿足多個(gè)條件但不作任何操作。4.for循環(huán)稱之為“取值循環(huán)”,其格式為for<循環(huán)變量>________<序列>:。遍歷序列中的所有元素,循環(huán)次數(shù)取決于in后包含的值的個(gè)數(shù)。序列可以是________串、________和字典,也可以是range()函數(shù)產(chǎn)生的序列。5.range函數(shù)的功能是產(chǎn)生一個(gè)________數(shù)列,格式range(start,stop,step),含義和字符串或列表切片類似。6.while循環(huán)又叫條件循環(huán),中文意思為當(dāng)……的時(shí)候。顧名思義,當(dāng)條件________的時(shí)候做什么事情。7.循環(huán)結(jié)構(gòu)中途可以結(jié)束當(dāng)次循環(huán)或結(jié)束循環(huán)。________語(yǔ)句,結(jié)束并退出當(dāng)前層循環(huán),________語(yǔ)句,結(jié)束當(dāng)前次循環(huán),進(jìn)入下一次循環(huán)。8.若循環(huán)體中沒有break語(yǔ)句,當(dāng)循環(huán)結(jié)束后,可以執(zhí)行________部分的語(yǔ)句。9.循環(huán)語(yǔ)句for i in range(0,n):和i=0;while i10.注意循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu)的區(qū)別。如if i in u 和for i in u。選擇結(jié)構(gòu)語(yǔ)句只執(zhí)行一次,判斷的結(jié)果為真或假。循環(huán)結(jié)構(gòu)依次取出集合中每個(gè)元素,循環(huán)的次數(shù)取決于集合中元素的個(gè)數(shù)。【經(jīng)典案例】分支結(jié)構(gòu)分為單分支結(jié)構(gòu)、雙分支結(jié)構(gòu)和多分支結(jié)構(gòu),而分支結(jié)構(gòu)的組合可以分為多個(gè)分支語(yǔ)句和分支的嵌套。多分支結(jié)構(gòu)和多個(gè)分支語(yǔ)句的區(qū)別在于多分支結(jié)構(gòu)只執(zhí)行其中一條個(gè)判斷條件,而多個(gè)分支語(yǔ)句依次執(zhí)行每個(gè)分支結(jié)構(gòu)語(yǔ)句。一個(gè)一維數(shù)組L是下標(biāo)不同的數(shù)據(jù)元素組成,多個(gè)等長(zhǎng)的數(shù)組可以看成是共享(0至len(L)-1)下標(biāo)的列表組,在for i in range(0,len(L),1)就可以產(chǎn)生這個(gè)下標(biāo)序列,而L[i]就是可以表示每個(gè)數(shù)組元素及數(shù)組元素的值。一個(gè)二維數(shù)組X可以看成是L行R列的二維列表xs=[[″張三″,1.78,56],[″李四″,1.88,74],[″王五″,1.71,66],[″趙六″,1.82,76]]該數(shù)組存儲(chǔ)4位學(xué)生的姓名、身高和體重,每位學(xué)生的索引分別為0、1、2、3。while循環(huán)可以實(shí)現(xiàn)重復(fù)若干次動(dòng)作,對(duì)于某些無(wú)法確定次數(shù)的循環(huán),或者需要條件觸發(fā)條件結(jié)束的情況,用while更方便。【例1】 象限是平面直角坐標(biāo)系(笛卡爾坐標(biāo)系)中橫軸和縱軸所劃分的四個(gè)區(qū)域,每一個(gè)區(qū)域叫做一個(gè)象限。象限以原點(diǎn)為中心,x,y軸為分界線,原點(diǎn)和坐標(biāo)軸上的點(diǎn)不屬于任何象限。某同學(xué)根據(jù)輸入的坐標(biāo)點(diǎn)(x,y)來判斷該坐標(biāo)點(diǎn)的位置所在,以下實(shí)現(xiàn)該分類的Python程序段中正確的是( )A.if x==0 and y==0:result=″原點(diǎn)″if x==0 or y==0:result=″數(shù)軸″if x!=0 and y!=0:result=″象限″B.if x==0 or y==0:result=″數(shù)軸″if x==0 and y==0:result=″原點(diǎn)″else:result=″象限″C.if x!=0 and y!=0:result=″象限″if x==0 or y==0:result=″數(shù)軸″else:result=″原點(diǎn)″D.if x!=0 and y!=0:result=″象限″if x==0 and y==0:result=″原點(diǎn)″if x==0 or y==0:result=″數(shù)軸″思維點(diǎn)撥明考向 本題考查Python基本控制結(jié)構(gòu)。(0,0)是原點(diǎn),即if x==0 and y==0 表示原點(diǎn);(0,y)或者(x,0)分別表示y軸與x軸精點(diǎn)撥 A x==y(tǒng)==0時(shí),第1個(gè)和第2個(gè)if均成立B if x==0 or y==0且x與y不同時(shí)為0表示數(shù)軸,在第2個(gè)分支語(yǔ)句中,再次判斷為″象限″C 條件x!=0 and y!=0成立,判斷為″象限″,在第2個(gè)分支語(yǔ)句中,再次判斷為″原點(diǎn)″,因此原點(diǎn)的判斷需在數(shù)軸之前D 分三種情況,用3條分支語(yǔ)句來表達(dá)這種情況聽課筆記:_________________________________________________________________________________________________________________________________________________________________________________________________________【變式1】 用Python語(yǔ)句描述城市主干道中機(jī)動(dòng)車平均行駛速度v不低于30為暢通,小于20為堵塞,其余為擁擠,設(shè)v為機(jī)動(dòng)車平均行駛速度(單位:km/h),則下列選項(xiàng)正確是( )A.if v>=30: print(″暢通″)elif v<30: print(″擁擠″)else: print(″堵塞″)B.if v<20: prin(″堵塞″)elif v>20: print(″擁擠″)else: print(″暢通″)C.if 20<=v<30: print(″擁擠″)elif v>=30 and v<20: print(″堵塞″)else: print(″暢通″)D.if v>=20: if v<30: print(″擁擠″) else: print(″暢通″)else:print(″堵塞″)【例2】 列表a有2*n個(gè)元素,各元素為互不相等的正整數(shù)(n≥1),要在其中找到最大值和次大值,并分別存儲(chǔ)到變量m1和m2中。實(shí)現(xiàn)該功能的Python程序段如下:m1=0;m2=0for i in range(0,2*n,2):if a[i]>a[i+1]:t1=a[i];t2=a[i+1]else:t1=a[i+1];t2=a[i]if:m1=t1;m2=t2elif:m2=m1;m1=t1elif:m2=t1上述程序段中方框處可選代碼為:①t1>m1 ②t1>m2 ③t2>m1;則(1)(2)(3)處代碼依次為( )A.①②③ B.③①②C.②③① D.③②①思維點(diǎn)撥明考向 本題考查for循環(huán)控制結(jié)構(gòu)精點(diǎn)撥 range(0,2*n,2)表示從索引0開始,每2個(gè)數(shù)據(jù)一組,共循環(huán)n次。m1和m2表示最大值和次大值。若滿足條件a[i]>a[i+1],表示在一組的兩個(gè)數(shù)據(jù)中找出一個(gè)較大者。有3種可能性,t2比m1大,意味著t1和t2是較大者和次大者;t1比m1大但t2比m2小,次大者為m1,最大者為t1;第3種可能性是t1比m1小但t2比m2大,僅修改次大者聽課筆記:_________________________________________________________________________________________________________________________________________________________________________________________________________【變式2】 有一組正整數(shù),要求對(duì)其中的奇偶數(shù)進(jìn)行交換。交換后偶數(shù)在前,奇數(shù)在后,并保持相對(duì)順序不變。a=[5,10,21,7,24,14,9,11,36,37]n=len(a);b=[0]*nnum=0;k=0while kif:b[num]=a[k]num+=1else: k+=1for j in range(n-num,n):print(a)將加框處的代碼補(bǔ)充完整,正確的是( )A.①a[k]%2==1 ②a[k-num]=a[k] ③a[j]=b[j-n+num]B.①a[k]%2==0 ②b[k-num]=a[k] ③a[j]=b[j+num]C.①a[k]%2==0 ②a[k-num]=a[k] ③a[j]=b[j+num]D.①a[k]%2==1 ②b[k-num]=a[k] ③a[j]=b[j-n+num]1.某購(gòu)物平臺(tái)經(jīng)常推出滿減優(yōu)惠活動(dòng),比如“跨店每滿299減50元”。顧客采購(gòu)物品原價(jià)為z元,根據(jù)“跨店每滿x減y元”活動(dòng)規(guī)則需支付s元。下列計(jì)算模型比較合理的是( )A.s=z//299*50 B.s=z-z//x*yC.s=z//x*y D.s=z-z//299*502.Python表達(dá)式15%2**3+abs(-5)//2計(jì)算結(jié)果是( )A.3 B.4C.5 D.93.下列Python表達(dá)式的值為False的是,其中s=″Python″,a,b是兩個(gè)任意整數(shù)( )A.″8″>″10″ B.s[5:3:-1]==″on″C.int(-2.5)==-2 D.max(a,b)==(a+b+abs(a-b))//24.下列Python表達(dá)式的值為False的是( )A.258//10%10==5 B.″7″ in [″3″,″7″]C.″student″ [2:5]==″ude″ D.len(″python″)==max([2,6,14,7])5.班級(jí)開班會(huì)課,需將學(xué)生分成6組,現(xiàn)在讓全體同學(xué)按照1~6循環(huán)報(bào)數(shù),能正確表示第n位同學(xué)所報(bào)數(shù)字的Python表達(dá)式是( )A.n B.n%6C.(n+1)%6-1 D.(n-1)%6+16.學(xué)籍號(hào)第8位數(shù)字開始是出生日期碼,包含8個(gè)數(shù)字,下列Python表達(dá)式中,能從學(xué)籍號(hào)s=″G330303200512073632″中獲取出生日期的是( )A.s[7:15] B.s[8:16]C.s[-12:-5] D.s[8:-4]7.已知fruit=″applebanana″,feel={1:″1ike″,2:″favor″,3:″hate″},who=[″he″,″she″,″it″]。則表達(dá)式″who[2]+feel[2][2:4]+fruit[1::4]″的值是( )A.itvorpbn B.itvoaeaC.itvopena D.itvopbn8.浙江省車牌號(hào)(如:浙J·AB888)首字母對(duì)應(yīng)的城市名稱用字典存儲(chǔ)如下:city={″A″:″杭州″,″B″:″寧波″,″C″:″溫州″,″D″:″紹興″,″E″:″湖州″,″F″:″嘉興″,″G″:″金華″,″H″:″衢州″,″J″:″臺(tái)州″,″K″:″麗水″,″L″:″舟山″}若輸入語(yǔ)句為:LPN=input(″請(qǐng)輸入車牌號(hào)碼:″),則下列能正確輸出城市名稱的語(yǔ)句是( )A.print(city[LPN(1)]) B.print(city{LPN[1]})C.print(city[LPN[1]]) D.print[city[LPN[1]]]9.人機(jī)對(duì)戰(zhàn)游戲——剪刀石頭布,游戲規(guī)則如下:石頭勝剪刀,剪刀勝布,布勝石頭。編寫Python程序?qū)崿F(xiàn)上述算法,玩家輸入0表示石頭,輸入1表示剪刀,輸入2表示布,電腦隨機(jī)產(chǎn)生[0,2]之間的整數(shù)。程序運(yùn)行結(jié)果如圖所示:實(shí)現(xiàn)上述功能的程序如下:import random #導(dǎo)入隨機(jī)模塊info=①________player=int(input(″請(qǐng)輸入序號(hào)(0.石頭1.剪刀2.布):″))computer=random.randint(0,2) #產(chǎn)生[0,2]范圍內(nèi)的隨機(jī)整數(shù)if player==computer:result=″平局″elif ②________:result=″玩家勝″else:result=″電腦勝″print(″玩家出:″+info[player],″電腦出:″+info[computer],result)程序劃線處應(yīng)填入的代碼是( )A.①″石頭,剪刀,布″ ②player+1==computerB.①[″石頭″,″剪刀″,″布″] ②(player+1)%3==computerC.①{0:″石頭″,1:″剪刀″,2:″布″} ②player+1==computerD.①{″石頭″:0,″剪刀″:1,″布″:2} ②(player+1)%3==computer10.(多選題)用Python語(yǔ)句描述塑料瓶容量500毫升以下(不包含)0.05元/個(gè),500毫升到1200毫升(不包含)0.1元/個(gè),1200毫升及以上0.15元/個(gè)。設(shè)容量為v(單位為毫升),價(jià)格為p(單位為元),則下列選項(xiàng)正確的是( )A.p=0.05if v>=500: p=0.1elif v>=1200:p=0.15B.p=0.15if v<500: p=0.05elif v<1200: p=0.1C.p=0.05if v>=500: p=0.1if v>=1200: p=0.15D.p=0.15if v<1200: p=0.1else: p=0.0511.運(yùn)行下列Python代碼,輸出結(jié)果是( )s=[″Red″,″Green″,″Blue″]for i in range(1,5):print(s[i%3],end=″″)A.GreenBlueRedGreen B.RedGreenBlueRedC.GreenRedBlueGreen D.RedGreenBlueRed12.某客戶購(gòu)買的新能源汽車價(jià)格為t萬(wàn)元,可享受當(dāng)?shù)卣?gòu)車補(bǔ)貼,補(bǔ)貼標(biāo)準(zhǔn)如下:價(jià)格20萬(wàn)元(不含)以下,補(bǔ)貼0.25萬(wàn)元;價(jià)格20萬(wàn)元(含)至30萬(wàn)元(不含),補(bǔ)貼0.5萬(wàn)元;價(jià)格30萬(wàn)元(含)以上,補(bǔ)貼1萬(wàn)元。在下列選項(xiàng)中,計(jì)算實(shí)際購(gòu)車價(jià)格p的程序代碼正確的是( )A.p=t-0.25if t>=20:p=t-0.5elif t>=30:p=t-1B.p=t-1if t<20:p=t-0.25elif t<30:p=t-0.5C.p=t-0.25if t>=30:p=t-1if t>=20:p=t-0.5D.p=t-1if t>=20:p=t-0.5else:p=t-0.2513.有如下Python程序:a=[100,71,74,95,68,78,99,99,82,100]b={″A″:0,″B″:0,″C″:0}for i in a:if i>90:b[″A″]+=1elif i>80:b[″B″]+=1else:b[″C″]+=1運(yùn)行該程序后,b[″B″]的值是( )A.1 B.6C.3 D.514.有如下Python程序段:s=″52-234-89-671-9″a=[″″]*10;ans=″″;n=0for i in range(len(s)):if s[i]>=″0″ and s[i]<=″9″:a[n]+=s[i]else:if a[n]>ans: ans=a[n]n=n+1print(ans)執(zhí)行該程序段后,輸出的結(jié)果是( )A.671 B.9 C.89 D.23415.為了實(shí)現(xiàn)某個(gè)數(shù)的質(zhì)因數(shù)分解,小明編寫了如下Python程序段。n=int(input(″n:″))i=2res=[]while n>1:if n%i!=0: i+=1else:res.append(i)n=n//i當(dāng)程序啟動(dòng)后輸入“18”,則運(yùn)行結(jié)束后res[-1]的值為( )A.2 B.3C.6 D.18專題4 Python語(yǔ)言基礎(chǔ)知識(shí)點(diǎn)一知識(shí)梳理1.整 字符串 2.* != and 3.改變經(jīng)典案例例1 C變式1 A [本題考查Python表達(dá)式和函數(shù)應(yīng)用。A選項(xiàng)4**2=16,abs(2-16)=14。B選項(xiàng)字符串″ord(A)″的長(zhǎng)度為6。C選項(xiàng)3**3=27,27//2=13。D選項(xiàng)1.34*10+0.5=13.9,int(13.9)=13。]例2 A變式2 D [本題考查Python表達(dá)式。A選項(xiàng)″0″的ASCII碼值并不是0,是比1大好多的值。B選項(xiàng)20//6值為3,20%6值為2,而3>2。C選項(xiàng)開方優(yōu)先級(jí)大于整除,3**2值為9,因此5%9值為5。D選項(xiàng)第1個(gè)字符″4″<″7″,因此″49″<″7″成立。]例3 B變式3 D [本題考查邏輯表達(dá)式的應(yīng)用。所報(bào)序號(hào)含有6,即個(gè)位數(shù)或十位數(shù)是6,表達(dá)式x%10的功能是取出個(gè)位數(shù),x//10的功能是去除個(gè)位數(shù),兩個(gè)條件只要符合一個(gè)即可。A選項(xiàng)僅僅表示十位數(shù)包含6。B選項(xiàng)僅僅表示個(gè)位數(shù)包含6。]知識(shí)點(diǎn)二知識(shí)梳理1.字符串 列表 字典 2.單引 [] 3.list 4.索引號(hào) 5.結(jié)束經(jīng)典案例例1 A變式1 D [本題考查字符切片和列表的索引相關(guān)知識(shí)。列表IDlist存儲(chǔ)了某校所有學(xué)生身份證號(hào)碼,且對(duì)變量i進(jìn)行切片,因此序列為列表IDlist。出生的月份為1~12,而count定義為[0]*12,其索引位置為0~11,因此需存儲(chǔ)在索引為mon-1的列表元素。]例2 D變式2 A [本題考查字符串的切片。第7至14位數(shù)字對(duì)應(yīng)的索引值為6-13,第14位數(shù)字的負(fù)索引為-5。A選項(xiàng)索引應(yīng)從6開始,因此不正確。B選項(xiàng)索引第13位數(shù)字若要取得,右邊界為14。C選項(xiàng)索引6對(duì)應(yīng)的負(fù)索引為-12,因此C選項(xiàng)正確。D選項(xiàng)從6開始,取到-5,步長(zhǎng)為1,因此右邊界為-4。]知識(shí)點(diǎn)三知識(shí)梳理1.鍵 一 2.沒有 鍵經(jīng)典案例例1 D變式1 B [本題考查字典的屬性。A選項(xiàng)字典不是有序序列,不能按索引取值。stu中沒有名為0的鍵,B選項(xiàng)″20230324″為鍵,stu[″20230324″]為該鍵對(duì)應(yīng)的值[″1班″,″張三″],姓名的索引為1。C選項(xiàng)stu[″20230324″]的值為[″1班″,″張三″],是列表,應(yīng)按位置取值。D選項(xiàng)不能用stu{″20230324″}來表示鍵值對(duì)。]例2 (1)壬寅虎 (2)①year%10 ②dic2[b] ③dic3[dic2[b]] (3)dic3[″子″]=″鼠″變式2 D [本題考查字典的綜合應(yīng)用。從語(yǔ)句x=cp[i]來看,變量i是cp字符串的索引位置,且for結(jié)構(gòu)為左閉右開的區(qū)間,因此①處的值為len(cp)。變量x的類型為字符串,因此可以作為字典dic的鍵,無(wú)需轉(zhuǎn)化。]知識(shí)點(diǎn)四知識(shí)梳理2.選擇 單 雙 多 3.多 一 4.in 字符 列表 5.等差 6.滿足 7.break continue 8.else 9.n-1 n經(jīng)典案例例1 D變式1 D [本題考查分支控制結(jié)構(gòu)。A選項(xiàng)v<30中包含了堵塞和擁擠,不能區(qū)分。B選項(xiàng)在v>20中包含了暢通和擁擠,不能區(qū)分。C選項(xiàng)條件v>=30和v<20不可能同時(shí)滿足。D選項(xiàng)先分為大于等于20和小于20的情況,再在大于等于20中區(qū)分擁擠和暢通。]例2 B變式2 A [本題考查while循環(huán)控制結(jié)構(gòu)。用循環(huán)k來遍歷數(shù)組a,當(dāng)前共有k個(gè)數(shù),num表示奇數(shù)的個(gè)數(shù),則k-num表示偶數(shù)的個(gè)數(shù),如果遍歷到奇數(shù),則將該數(shù)保存到數(shù)組b中,如果是偶數(shù),將該數(shù)移動(dòng)到k-num位置中。最后將b中數(shù)全部轉(zhuǎn)移到數(shù)組a中。]當(dāng)堂過關(guān)檢測(cè)1.B [每滿x意味著有z中包含x的整數(shù)倍,每個(gè)整數(shù)倍減y元,共減z//x*y。]2.D [2**3優(yōu)先級(jí)高,值為8,15%8=7,abs(-5)//2=2。]3.B [B選項(xiàng)s[5:3:-1]表示從索引5開始倒取2個(gè)數(shù),值為″no″。D選項(xiàng)a+b包含2個(gè)max(a,b)的和減去abs(a-b)。]4.D [len(″python″)值為6,max([2,6,14,7])值為14。]5.D [本題考查運(yùn)算符%的應(yīng)用。顯然A選項(xiàng)不正確;B選項(xiàng)會(huì)出現(xiàn)報(bào)數(shù)0以及缺少6;C選項(xiàng)結(jié)果值在-1~4之間;D選項(xiàng)正確。]6.A [第8位數(shù)字的索引為7。]7.D [who[2]=″it″,feel[2]=″favor″,″favor″[2:4]=″vo″,fruit[1::4]表示從索引1開始,每隔4位取一個(gè)字母,即pbn。]8.C [本題考查字典的相關(guān)知識(shí)。首先print是輸出函數(shù),所以用括號(hào)表示,即形如print(),D選項(xiàng)錯(cuò)誤;city是字典,對(duì)字典進(jìn)行索引應(yīng)該表示成形如city[],B選項(xiàng)錯(cuò)誤;而我們輸入語(yǔ)句LPN=input(″請(qǐng)輸入車牌號(hào)碼:″)輸入的是字符串,對(duì)字符串索引也應(yīng)表示成形如LPN[],A選項(xiàng)錯(cuò)誤;故答案選C。]9.B [從表達(dá)式info[player]來看,info可以是字符串、列表和字典,若為字典,則數(shù)字作為鍵。從游戲規(guī)則來看,0勝1,1勝2,2勝0,因此答案為B。]10.BC [本題考查Python基礎(chǔ)語(yǔ)法分支邏輯。A選項(xiàng)邏輯錯(cuò)誤,v>=500,只會(huì)執(zhí)行if,不會(huì)執(zhí)行elif。p的值是0.1或0.15。D同上,v<1200,只會(huì)執(zhí)行if,不會(huì)執(zhí)行elif,p的值是0.1或0.05。]11.A [本題考查字符串的切片。變量i的值依次為1,2,3,4,對(duì)應(yīng)i%3的值為1,2,0,1,因此得到答案為A。]12.B [A選項(xiàng)t>=20包含了t>=30。C選項(xiàng)為2個(gè)分支結(jié)構(gòu),依次執(zhí)行。]13.A [遍歷數(shù)組a中數(shù)據(jù),將大于90計(jì)入A,大于80但小于等于90計(jì)入B,其他的計(jì)入C。]14.C [遍歷字符串s,如果是數(shù)字,不斷地連入a[n],因此每個(gè)數(shù)字段存入數(shù)組a中,在數(shù)組a中找到最大值,但最后一個(gè)字符串并沒有最大值進(jìn)行比較。]15.B [n=18=2*3*3,最后一個(gè)數(shù)字是3。] 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫(kù)