資源簡介 課時3 順序結構及程序實現課時目標1.理解順序結構語句的執行過程。2.理解常用內建函數的功能,并能簡單使用。3.能編寫簡單程序解決實際問題。1.順序結構的程序代碼執行方式為自上而下,按順序逐步執行程序代碼。2.注釋語句以#開頭,在程序運行時不執行,注釋語句的作用是對程序代碼進行說明。3.順序結構是最簡單的程序結構,也是最常用的程序結構,按照解決問題的順序寫出相應的語句。順序結構的難點在于把解決問題步驟轉換成語句實現,要用到很多Python內建的函數,以及字符串、列表和字典的數據結構的靈活應用。 例1 有如下 Python 程序段:s='HAPPY2023's=s[3:]+s[1:3]print(s)則輸出 s 的結果是 ( )A.PY2023AP B.HAPY2023C.PY2023HA D.HAPP2023答案 A變式訓練1 有Python程序段如下,執行該程序段后,輸出的結果是 ( )list1=[6,6,17,20,2,9]list2=[12,2,3,3,5]p1=max(list1)+len(list2)p2=list1[3]∥list2[3]ans=p1%p2print(ans)A.0 B.1 C.2 D.3答案 B解析 本題考查列表的應用和計算。p1的值為25,p2的值為6,因此ans為1。例2 公元1900年是鼠年,以后每12年一個輪回,生肖排列文本存儲在變量中sx中(sx="鼠牛虎兔龍蛇馬羊猴雞狗豬"),如表所示。索引號 0 1 2 3 4 5 6 7 8 9 10 11值 鼠 牛 虎 兔 龍 蛇 馬 羊 猴 雞 狗 豬輸入一個1900年以后出生的年份y(數值型),計算該年生肖。編寫程序代碼如下:sx="鼠牛虎兔龍蛇馬羊猴雞狗豬"y=int(input("輸入年份")) print(sx[t])(1)請在程序劃線處填入合適的代碼。(2)對照上述算法,2016年出生的人所屬生肖為 。 答案 (1)t=(y-1900)%12 (2)猴解析 本題考查的是解決實際問題的能力。任意數%12的范圍是[0,11],生肖是以鼠年為基準,每12年一個輪回,因此輸入的年份減去1900年,把這個差值除12的余數,就是當年生肖的位置。變式訓練2 十天干與十二地支的組合,形成了六十甲子。輸入一個年份year,該年份除10后的余數為0-9,分別對應的天干名稱依次為"庚辛壬癸甲乙丙丁戊己",存儲在變量tg中。除12后的余數分別對應的地支名稱依次是"申酉戌亥子丑寅卯辰巳午未",保存在變量dz中。輸入一個年份y(數值型),計算該年天干程序代碼如下:y=int(input("輸入年份"))tg="庚辛壬癸甲乙丙丁戊己"dz="申酉戌亥子丑寅卯辰巳午未"t1=y%10t2=y%12 print(str(y)+"年屬于:"+result+"年")(1)請在程序劃線處填入合適的代碼。(2)按照上述算法,2020年對應的天干地支為 年。 答案 (1)result=tg[t1]+dz[t2]或result=tg[t1:t1+1]+dz[t2:t2+1] (2)庚子解析 本題考查的是解決實際問題的能力。根據題目含義,需要在tg和dz的t1、t2各獲取一個元素。2020%10=0,2020%12=4,在字符串的索引為0和4的位置找到相應的值。例3 字典的應用。商品的代碼、名稱和價格分別存儲在字典中,通過輸入商品名稱或代碼及重量,計算金額。實現上述功能的程序代碼如下所示。dict={"甘藍":10,"小黃魚":28,"蝦仁":27,"牛肉":57,"1123":100}sp=input("輸入商品名稱")z1=int(input("輸入商品重量")) print("金額為:"+str(je))(1)在程序劃線處填入合適的代碼。(2)程序運行時,分別輸入1123和6,則輸出的金額為 。 (3)修改dict的內容為dict={"蝦仁":27,"牛肉":57,"1123":100,"甘藍":10,"小黃魚":28}, (填:是/否)會影響程序運行的結果。 答案 (1)je=dict[sp]*z1 (2)600 (3)否解析 學會調用字典元素的方法,dict[sp]表示在字典dict中,鍵為sp對應的值。輸入1123和6,一個是文本類型的,代表鍵,找到相應的值為100,另外一個是數值,相乘得到結果。字典是無序的,調整字典中元素位置不影響程序的運行結果。根據鍵來找到相應的值。 1.某Python程序代碼如下:sfz=input("請輸入您的身份證號碼:")year=int(sfz[6:10])month= day=int(sfz[12:14])print("您是的出生年月日是",year,"年",month,"月",day,"日!")程序運行后,輸入"33018320050907002X"后,輸出的結果為:您是的出生年月日是2005年9月7日!。將劃線空白處的代碼補充完整。答案 int(sfz[10:12])2.有如下Python程序段:a=int(input("please input a:"))b=int(input("please input b:"))c=aa=bb=cprint("a=",a,"b=",b)(1)執行上述代碼時,分別輸入3、5,輸出結果為 。 (2)如果交換語句“a=b”和“b=c”的位置,則輸出結果為 。 答案 (1)a=5 b=3 (2)a=3 b=3解析 本題考查的是順序結構語句。本題的功能是交換變量a、b的值,因此,(1)輸出結果為a=5 b=3。(2)交換語句“a=b”和“b=c”的位置,則a、b的值均變為原來a的值,即a=3 b=3。3.有如下Python程序段:a=int(input("please input a:"))b=int(input("please input b:"))x=pow(a,b)y=pow(b,a)ans=x>=yprint("ans=",ans)(1)程序運行時,輸入a、b的值分別為3、4,程序段運行后,變量x的值為 ,變量y的值為 。 (2)程序段執行后,輸出的結果為 。 答案 (1)81 64 (2)ans=True解析 本題主要考查的是pow函數及關系表達式。pow(x,y)函數的功能是返回x的y次冪,即x=pow(3,4)=81,y=pow(4,3)=64,因此,x>=y成立,ans=True。4.有如下Python程序段:dict1={"R":"red","G":"Green","b":"Blue"}dict1["y"]="Yello"dict1["b"]="Black"print(dict1)執行上述代碼后,程序輸出的結果為 。 答案 {"R":"red","G":"Green","b":"Black","y":"Yello"}解析 本題主要考查的是通過賦值語句修改字典。在字典操作時,如果關鍵字存在,則修改關鍵字對應的元素的值;如果關鍵字不存在,則在字典中增加一個新元素,即“關鍵字:值”對。語句dict1["y"]="Yello"的功能是增加一個新元素,語句dict1["b"]="Black"的功能是更新字典值,因此輸出的結果為{"R":"red","G":"Green","b":"Black","y":"Yello"}。5.有如下Python程序段:List1=[11,13,9,5,8,7,6,14]List1_len=len(List1)ans=(max(List1)-min(List1))*List1_lenprint(ans)執行上述代碼后,程序輸出的結果為 。 答案 72解析 本題主要考查的是有關列表的內建函數。函數len(List1)的功能是返回列表框中元素的個數,即len(List1)=8;函數max(List1)的功能是返回列表中的最大值,即max(List1)=14,函數min(List1)的功能是返回列表中的最小值,即max(List1)=5,因此,ans=(max(List1)-min(List1))*List1_len=(14-5)*8=72。一、基礎鞏固 1.變量 x 的值為-3.14,y 的值為-8,執行語句 x=int(x)+abs(y),后 x 的值為 ( )A.4 B.5 C.11 D.12答案 B2.有如下 Python 程序段:cy=["取長補短","一言為定","張燈結彩","坐井觀天","風平浪靜","張三李四"]print(cy[2:5][1][3])程序運行后,輸出的結果是 ( )A.["張燈結彩","坐井觀天","風平浪靜"]B.["坐井觀天"]C.彩D.天答案 D3.有如下 Python 程序段:a,b,c=[1,2],[3,4],[5,6]a=a+ba.append(c)運行該段代碼后,a[-2]的值為 ( )A.4 B.[3,4] C.5 D.[5,6]答案 A4.有如下 Python 程序段:info=[19,25,10,5,7,21,9,15]x=max(info);y=min(info);z=len(info)r=info[-5]s=(x-y)%(z-r)print(s)運行程序后,輸出的結果是 。答案 25.有如下Python程序段:x={'a':'b','c':'d'}print('a' in x,'b' in x)程序運行的結果為 。 答案 True False解析 本題考查的是in操作。6.有如下Python程序段:x=2y=3x,y=y,xprint('x=',x,'y=',y)程序運行的結果為 。 答案 x=3 y=2解析 本題考查的是解讀程序的綜合能力。本程序的功能是交換變量x、y的值,因此,最終輸出的結果為x=3,y=2。7.有如下Python程序段:x='a'print(chr(ord('a')-32))程序運行的結果為 。 答案 'A'解析 ord('a')的功能是求字母a的ASCII碼,小寫字母的ASCII碼比對應的大寫字母大32,可知代碼chr(ord('a')-32)的功能是將小寫字母a轉換為大寫字母A,因此,程序運行的結果為'A'。8.有如下Python程序段:x=3.14159y=100print(round(x*y,2))程序運行的結果為 。 答案 314.16解析 本題考查的是round函數。round(x*y,2)的功能是求x*y的值并只留兩位小數。9.有如下Python程序段:List1=["apple","watermelon","coconut","orange","peach","lemon"]a=List1[2]b=List1[1]c=a[0:2]==a[2:4]該程序執行后,a的值為 ,b的值為 ,c的值為 。 答案 "coconut" False True解析 本題主要考查列表索引及切片的內容,字符串列表正索引從0開始,負索引從-1開始,切片是為前閉后開區間,故a="coconut",b="watermelon"<"coconut",字符串大小比較為第一個字符的ASCII碼大小之比,若相同則比較下一個,故b值為False,c="co"=="co",結果為True.10.某Python程序段如下:m=153a=m∥100b=m∥10%10c=m%10n=a**3+b**3+c**3print(n)運行該程序段,輸出結果是 。 答案 153解析 本題考查數的分離與組合問題的相關知識。將三位數拆成各位數字,再求出每位數字的立方和,該題屬于容易題,來源于水仙花數問題。二、能力提升11.有如下Python程序段:s='3657'list1=['aa',123,'bb',56]list1[1:2]=s[1:3]print(list1)程序運行的結果是 。 答案 ['aa','6','5','bb',56]解析 本題考查的是列表操作。代碼list1[1∶2]=s[1∶3]的功能是將列表list1中索引值為1和2的元素更改為字符串s中的索引值為1和2的值,因此程序運行后輸出的結果為['aa','6','5','bb',56]。12.有如下Python程序段:dic={"蘋果":[9.98,12.98],"香梨":[8.98,16.98]}dic["蘋果"][1]=15.98dic["葡萄"]=[12.58,13.98]print(dic)該程序運行后輸出的結果為 ( )A.{"蘋果":[15.98,12.98],"香梨":[8.98,16.98]}B.{"蘋果":[9.98,15.98],"香梨":[8.98,16.98]}C.{"蘋果":[15.98,12.98],"香梨":[8.98,16.98],"葡萄":[12.58,13.98]}D.{"蘋果":[9.98,15.98],"香梨":[8.98,16.98],"葡萄":[12.58,13.98]}答案 D13.已知三角形的三邊長度分別為a、b、c,可用海倫公式求解三角形的面積s,海倫公式為:s=,其中p=。利用海倫公式求三角形面積,請回答下列問題:(1)輸入三角形三邊長分別為3,4,5,下列賦值語句不正確的是 ( )A.a,b,c=3,4,5B.a=3 b=4 c=5C.a=3,b=4,c=5D.a=3;b=4;c=5(2)為實現上述功能,請在程序劃線處填入合適的代碼。a=float(input("please input a:"))b=float(input("please in put b:"))c=float(input("please in put c:"))p=① s=② print("s=",s)答案 (1)C (2)①(a+b+c)/2 ②(p*(p-a)*(p-b)*(p-c))**0.5解析 (1)本題考查的是給變量賦值。B選項為最常規的賦值方法;AD選項的方法均可實現將3、4、5賦值給變量a、b、c,因此答案為C。(2)根據題意,p為周長的一半,因此,①處代碼為(a+b+c)/2;s為三角形的面積,根據題中公式可得s=(p*(p-a)*(p-b)*(p-c))**0.5。14.天干地支,源自中國遠古時代對天象的觀測,十天干和十二地支依次相配,兩者按固定的順序搭配,組成天干地支紀年法。干支紀年一個周期第一年為“甲子”,第二年為“乙丑”,依此類推,60年一個周期。十二地支與十二生肖相配,是中國民間計算年齡的方法,如1984年為甲子年,生肖為鼠。已知年份的最后一位數字對應天干,用已知年份除以12,求得的余數代表地支。對應關系如下:數字 4 5 6 7 8 9 0 1 2 3天干 甲 乙 丙 丁 戊 己 庚 辛 壬 癸數字 4 5 6 7 8 9 10 11 0 1 2 3地支 子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥生肖 鼠 牛 虎 兔 龍 蛇 馬 羊 猴 雞 狗 豬(1)按照上述算法,2022年對應的天干地支生肖為 。 (2)將程序劃線處補全代碼。year=int(input("請輸入年份:"))#天干字典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=year%12c=dic1[a]+② print("天干地支為:",c)#生肖字典,以地支為"鍵",以生肖為"值"dic3={"子":"鼠","丑":"牛","寅":"虎","卯":"兔","辰":"龍","巳":"蛇","午":"馬","未":"羊","申":"猴","酉":"雞","戌":"狗","亥":"豬"}print("生肖為:",③ ) (3)地支“子”對應的生肖應為“鼠”,修改字典dic3對應內容的語句為 。 答案 (1)壬寅虎 (2)①year%10②dic2[b] ③dic3[dic2[b]](3)dic3["子"]="鼠"解析 本題考查字典的綜合應用。(1)通過對題干的解讀可得2022最后一位為2,天干對應壬,除以12后余數為6,地支對應寅,因此答案為壬寅虎。(2)①解讀程序可得c為天干地支連接起來的值,因此a表示天干,需要得到年份的最后一位,用year%10,②b為年份除以12的余數,用作訪問字典dic2的鍵,因此答案為:dic2[b],③最后需要再加上生肖,dic2的值為訪問dic3的鍵,因此答案為:dic3[dic2[b]]。(3)修改字典與新增的方法一樣。(共42張PPT)課時3 順序結構及程序實現第三章 算法的程序實現1.理解順序結構語句的執行過程。2.理解常用內建函數的功能,并能簡單使用。3.能編寫簡單程序解決實際問題。目 錄CONTENTS知識梳理01例題精析02隨堂檢測03鞏固與提升04知識梳理11.順序結構的程序代碼執行方式為自上而下,按順序______執行程序代碼。2.注釋語句以____開頭,在程序運行時________,注釋語句的作用是____________________。3.順序結構是最簡單的程序結構,也是最常用的程序結構,按照解決問題的順序寫出相應的語句。順序結構的難點在于把解決問題步驟轉換成語句實現,要用到很多Python內建的函數,以及字符串、列表和字典的數據結構的靈活應用。逐步#不執行對程序代碼進行說明例題精析2例1 有如下 Python 程序段:s='HAPPY2023's=s[3:]+s[1:3]print(s)則輸出 s 的結果是( )A.PY2023AP B.HAPY2023C.PY2023HA D.HAPP2023A變式訓練1 有Python程序段如下,執行該程序段后,輸出的結果是 ( )list1=[6,6,17,20,2,9]list2=[12,2,3,3,5]p1=max(list1)+len(list2)p2=list1[3]∥list2[3]ans=p1%p2print(ans)A.0 B.1 C.2 D.3解析 本題考查列表的應用和計算。p1的值為25,p2的值為6,因此ans為1。B例2 公元1900年是鼠年,以后每12年一個輪回,生肖排列文本存儲在變量中sx中(sx="鼠牛虎兔龍蛇馬羊猴雞狗豬"),如表所示。輸入一個1900年以后出生的年份y(數值型),計算該年生肖。編寫程序代碼如下:sx="鼠牛虎兔龍蛇馬羊猴雞狗豬"y=int(input("輸入年份")) print(sx[t])(1)請在程序劃線處填入合適的代碼。(2)對照上述算法,2016年出生的人所屬生肖為 。 索引號 0 1 2 3 4 5 6 7 8 9 10 11值 鼠 牛 虎 兔 龍 蛇 馬 羊 猴 雞 狗 豬答案 (1)t=(y-1900)%12 (2)猴解析 本題考查的是解決實際問題的能力。任意數%12的范圍是[0,11],生肖是以鼠年為基準,每12年一個輪回,因此輸入的年份減去1900年,把這個差值除12的余數,就是當年生肖的位置。變式訓練2 十天干與十二地支的組合,形成了六十甲子。輸入一個年份year,該年份除10后的余數為0-9,分別對應的天干名稱依次為"庚辛壬癸甲乙丙丁戊己",存儲在變量tg中。除12后的余數分別對應的地支名稱依次是"申酉戌亥子丑寅卯辰巳午未",保存在變量dz中。輸入一個年份y(數值型),計算該年天干程序代碼如下:y=int(input("輸入年份"))tg="庚辛壬癸甲乙丙丁戊己"dz="申酉戌亥子丑寅卯辰巳午未"t1=y%10t2=y%12 print(str(y)+"年屬于:"+result+"年")(1)請在程序劃線處填入合適的代碼。(2)按照上述算法,2020年對應的天干地支為 年。 答案 (1)result=tg[t1]+dz[t2]或result=tg[t1:t1+1]+dz[t2:t2+1] (2)庚子解析 本題考查的是解決實際問題的能力。根據題目含義,需要在tg和dz的t1、t2各獲取一個元素。2020%10=0,2020%12=4,在字符串的索引為0和4的位置找到相應的值。例3 字典的應用。商品的代碼、名稱和價格分別存儲在字典中,通過輸入商品名稱或代碼及重量,計算金額。實現上述功能的程序代碼如下所示。dict={"甘藍":10,"小黃魚":28,"蝦仁":27,"牛肉":57,"1123":100}sp=input("輸入商品名稱")z1=int(input("輸入商品重量")) print("金額為:"+str(je))(1)在程序劃線處填入合適的代碼。(2)程序運行時,分別輸入1123和6,則輸出的金額為 。 (3)修改dict的內容為dict={"蝦仁":27,"牛肉":57,"1123":100,"甘藍":10,"小黃魚":28}, (填:是/否)會影響程序運行的結果。 答案 (1)je=dict[sp]*z1 (2)600 (3)否解析 學會調用字典元素的方法,dict[sp]表示在字典dict中,鍵為sp對應的值。輸入1123和6,一個是文本類型的,代表鍵,找到相應的值為100,另外一個是數值,相乘得到結果。字典是無序的,調整字典中元素位置不影響程序的運行結果。根據鍵來找到相應的值。隨堂檢測31.某Python程序代碼如下:sfz=input("請輸入您的身份證號碼:")year=int(sfz[6:10])month= day=int(sfz[12:14])print("您是的出生年月日是",year,"年",month,"月",day,"日!")程序運行后,輸入"33018320050907002X"后,輸出的結果為:您是的出生年月日是2005年9月7日!。將劃線空白處的代碼補充完整。答案 int(sfz[10:12])2.有如下Python程序段:a=int(input("please input a:"))b=int(input("please input b:"))c=aa=bb=cprint("a=",a,"b=",b)(1)執行上述代碼時,分別輸入3、5,輸出結果為 。 (2)如果交換語句“a=b”和“b=c”的位置,則輸出結果為 。 答案 (1)a=5 b=3 (2)a=3 b=3解析 本題考查的是順序結構語句。本題的功能是交換變量a、b的值,因此,(1)輸出結果為a=5 b=3。(2)交換語句“a=b”和“b=c”的位置,則a、b的值均變為原來a的值,即a=3 b=3。3.有如下Python程序段:a=int(input("please input a:"))b=int(input("please input b:"))x=pow(a,b)y=pow(b,a)ans=x>=yprint("ans=",ans)(1)程序運行時,輸入a、b的值分別為3、4,程序段運行后,變量x的值為 ,變量y的值為 。 (2)程序段執行后,輸出的結果為 。 答案 (1)81 64 (2)ans=True解析 本題主要考查的是pow函數及關系表達式。pow(x,y)函數的功能是返回x的y次冪,即x=pow(3,4)=81,y=pow(4,3)=64,因此,x>=y成立,ans=True。4.有如下Python程序段:dict1={"R":"red","G":"Green","b":"Blue"}dict1["y"]="Yello"dict1["b"]="Black"print(dict1)執行上述代碼后,程序輸出的結果為 。 答案 {"R":"red","G":"Green","b":"Black","y":"Yello"}解析 本題主要考查的是通過賦值語句修改字典。在字典操作時,如果關鍵字存在,則修改關鍵字對應的元素的值;如果關鍵字不存在,則在字典中增加一個新元素,即“關鍵字:值”對。語句dict1["y"]="Yello"的功能是增加一個新元素,語句dict1["b"]="Black"的功能是更新字典值,因此輸出的結果為{"R":"red","G":"Green","b":"Black","y":"Yello"}。5.有如下Python程序段:List1=[11,13,9,5,8,7,6,14]List1_len=len(List1)ans=(max(List1)-min(List1))*List1_lenprint(ans)執行上述代碼后,程序輸出的結果為 。 答案 72解析 本題主要考查的是有關列表的內建函數。函數len(List1)的功能是返回列表框中元素的個數,即len(List1)=8;函數max(List1)的功能是返回列表中的最大值,即max(List1)=14,函數min(List1)的功能是返回列表中的最小值,即max(List1)=5,因此,ans=(max(List1)-min(List1))*List1_len=(14-5)*8=72。4鞏固與提升基礎鞏固能力提升1.變量 x 的值為-3.14,y 的值為-8,執行語句 x=int(x)+abs(y),后 x 的值為 ( )A.4 B.5 C.11 D.12B2.有如下 Python 程序段:cy=["取長補短","一言為定","張燈結彩","坐井觀天","風平浪靜","張三李四"]print(cy[2:5][1][3])程序運行后,輸出的結果是( )A.["張燈結彩","坐井觀天","風平浪靜"]B.["坐井觀天"]C.彩D.天D3.有如下 Python 程序段:a,b,c=[1,2],[3,4],[5,6]a=a+ba.append(c)運行該段代碼后,a[-2]的值為( )A.4 B.[3,4] C.5 D.[5,6]A4.有如下 Python 程序段:info=[19,25,10,5,7,21,9,15]x=max(info);y=min(info);z=len(info)r=info[-5]s=(x-y)%(z-r)print(s)運行程序后,輸出的結果是 。答案 25.有如下Python程序段:x={'a':'b','c':'d'}print('a' in x,'b' in x)程序運行的結果為 。 答案 True False解析 本題考查的是in操作。6.有如下Python程序段:x=2y=3x,y=y,xprint('x=',x,'y=',y)程序運行的結果為 。 答案 x=3 y=2解析 本題考查的是解讀程序的綜合能力。本程序的功能是交換變量x、y的值,因此,最終輸出的結果為x=3,y=2。7.有如下Python程序段:x='a'print(chr(ord('a')-32))程序運行的結果為 。 答案 'A'解析 ord('a')的功能是求字母a的ASCII碼,小寫字母的ASCII碼比對應的大寫字母大32,可知代碼chr(ord('a')-32)的功能是將小寫字母a轉換為大寫字母A,因此,程序運行的結果為'A'。8.有如下Python程序段:x=3.14159y=100print(round(x*y,2))程序運行的結果為 。 答案 314.16解析 本題考查的是round函數。round(x*y,2)的功能是求x*y的值并只留兩位小數。9.有如下Python程序段:List1=["apple","watermelon","coconut","orange","peach","lemon"]a=List1[2]b=List1[1]c=a[0:2]==a[2:4]該程序執行后,a的值為 ,b的值為 ,c的值為 。 答案 "coconut" False True解析 本題主要考查列表索引及切片的內容,字符串列表正索引從0開始,負索引從-1開始,切片是為前閉后開區間,故a="coconut",b="watermelon"<"coconut",字符串大小比較為第一個字符的ASCII碼大小之比,若相同則比較下一個,故b值為False,c="co"=="co",結果為True.10.某Python程序段如下:m=153a=m∥100b=m∥10%10c=m%10n=a**3+b**3+c**3print(n)運行該程序段,輸出結果是 。 答案 153解析 本題考查數的分離與組合問題的相關知識。將三位數拆成各位數字,再求出每位數字的立方和,該題屬于容易題,來源于水仙花數問題。11.有如下Python程序段:s='3657'list1=['aa',123,'bb',56]list1[1:2]=s[1:3]print(list1)程序運行的結果是 。 答案 ['aa','6','5','bb',56]解析 本題考查的是列表操作。代碼list1[1∶2]=s[1∶3]的功能是將列表list1中索引值為1和2的元素更改為字符串s中的索引值為1和2的值,因此程序運行后輸出的結果為['aa','6','5','bb',56]。12.有如下Python程序段:dic={"蘋果":[9.98,12.98],"香梨":[8.98,16.98]}dic["蘋果"][1]=15.98dic["葡萄"]=[12.58,13.98]print(dic)該程序運行后輸出的結果為( )A.{"蘋果":[15.98,12.98],"香梨":[8.98,16.98]}B.{"蘋果":[9.98,15.98],"香梨":[8.98,16.98]}C.{"蘋果":[15.98,12.98],"香梨":[8.98,16.98],"葡萄":[12.58,13.98]}D.{"蘋果":[9.98,15.98],"香梨":[8.98,16.98],"葡萄":[12.58,13.98]}D13.已知三角形的三邊長度分別為a、b、c,可用海倫公式求解三角形的面積s,海倫公式為:(1)輸入三角形三邊長分別為3,4,5,下列賦值語句 的是 ( )A.a,b,c=3,4,5B.a=3 b=4 c=5C.a=3,b=4,c=5D.a=3;b=4;c=5(2)為實現上述功能,請在程序劃線處填入合適的代碼。a=float(input("please input a:"))b=float(input("please in put b:"))c=float(input("please in put c:"))p=① s=② print("s=",s)答案 (1)C (2)①(a+b+c)/2 ②(p*(p-a)*(p-b)*(p-c))**0.5解析 (1)本題考查的是給變量賦值。B選項為最常規的賦值方法;AD選項的方法均可實現將3、4、5賦值給變量a、b、c,因此答案為C。(2)根據題意,p為周長的一半,因此,①處代碼為(a+b+c)/2;s為三角形的面積,根據題中公式可得s=(p*(p-a)*(p-b)*(p-c))**0.5。14.天干地支,源自中國遠古時代對天象的觀測,十天干和十二地支依次相配,兩者按固定的順序搭配,組成天干地支紀年法。干支紀年一個周期第一年為“甲子”,第二年為“乙丑”,依此類推,60年一個周期。十二地支與十二生肖相配,是中國民間計算年齡的方法,如1984年為甲子年,生肖為鼠。已知年份的最后一位數字對應天干,用已知年份除以12,求得的余數代表地支。對應關系如下:數字 4 5 6 7 8 9 0 1 2 3天干 甲 乙 丙 丁 戊 己 庚 辛 壬 癸數字 4 5 6 7 8 9 10 11 0 1 2 3地支 子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥生肖 鼠 牛 虎 兔 龍 蛇 馬 羊 猴 雞 狗 豬(1)按照上述算法,2022年對應的天干地支生肖為 。 (2)將程序劃線處補全代碼。year=int(input("請輸入年份:"))#天干字典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=year%12c=dic1[a]+② print("天干地支為:",c)#生肖字典,以地支為"鍵",以生肖為"值"dic3={"子":"鼠","丑":"牛","寅":"虎","卯":"兔","辰":"龍","巳":"蛇","午":"馬","未":"羊","申":"猴","酉":"雞","戌":"狗","亥":"豬"}print("生肖為:",③ ) (3)地支“子”對應的生肖應為“鼠”,修改字典dic3對應內容的語句為 。 答案 (1)壬寅虎 (2)①year%10 ②dic2[b] ③dic3[dic2[b]](3)dic3["子"]="鼠"解析 本題考查字典的綜合應用。(1)通過對題干的解讀可得2022最后一位為2,天干對應壬,除以12后余數為6,地支對應寅,因此答案為壬寅虎。(2)①解讀程序可得c為天干地支連接起來的值,因此a表示天干,需要得到年份的最后一位,用year%10,②b為年份除以12的余數,用作訪問字典dic2的鍵,因此答案為:dic2[b],③最后需要再加上生肖,dic2的值為訪問dic3的鍵,因此答案為:dic3[dic2[b]]。(3)修改字典與新增的方法一樣。課時3 順序結構及程序實現課時目標1.理解順序結構語句的執行過程。2.理解常用內建函數的功能,并能簡單使用。3.能編寫簡單程序解決實際問題。1.順序結構的程序代碼執行方式為自上而下,按順序________執行程序代碼。2.注釋語句以________開頭,在程序運行時____________,注釋語句的作用是____________________________。3.順序結構是最簡單的程序結構,也是最常用的程序結構,按照解決問題的順序寫出相應的語句。順序結構的難點在于把解決問題步驟轉換成語句實現,要用到很多Python內建的函數,以及字符串、列表和字典的數據結構的靈活應用。例1 有如下 Python 程序段:s='HAPPY2023's=s[3:]+s[1:3]print(s)則輸出 s 的結果是A.PY2023AP B.HAPY2023C.PY2023HA D.HAPP2023聽課筆記: 變式訓練1 有Python程序段如下,執行該程序段后,輸出的結果是( )list1=[6,6,17,20,2,9]list2=[12,2,3,3,5]p1=max(list1)+len(list2)p2=list1[3]∥list2[3]ans=p1%p2print(ans)A.0 B.1 C.2 D.3例2 公元1900年是鼠年,以后每12年一個輪回,生肖排列文本存儲在變量中sx中(sx=″鼠牛虎兔龍蛇馬羊猴雞狗豬″),如表所示。索引號 0 1 2 3 4 5 6 7 8 9 10 11值 鼠 牛 虎 兔 龍 蛇 馬 羊 猴 雞 狗 豬輸入一個1900年以后出生的年份y(數值型),計算該年生肖。編寫程序代碼如下:sx=″鼠牛虎兔龍蛇馬羊猴雞狗豬″y=int(input(″輸入年份″))________________print(sx[t])(1)請在程序劃線處填入合適的代碼。(2)對照上述算法,2016年出生的人所屬生肖為____________。聽課筆記: 變式訓練2 十天干與十二地支的組合,形成了六十甲子。輸入一個年份year,該年份除10后的余數為0-9,分別對應的天干名稱依次為″庚辛壬癸甲乙丙丁戊己″,存儲在變量tg中。除12后的余數分別對應的地支名稱依次是″申酉戌亥子丑寅卯辰巳午未″,保存在變量dz中。輸入一個年份y(數值型),計算該年天干程序代碼如下:y=int(input(″輸入年份″))tg=″庚辛壬癸甲乙丙丁戊己″dz=″申酉戌亥子丑寅卯辰巳午未″t1=y%10t2=y%12________________print(str(y)+″年屬于:″+result+″年″)(1)請在程序劃線處填入合適的代碼。(2)按照上述算法,2020年對應的天干地支為________年。例3 字典的應用。商品的代碼、名稱和價格分別存儲在字典中,通過輸入商品名稱或代碼及重量,計算金額。實現上述功能的程序代碼如下所示。dict={″甘藍″:10,″小黃魚″:28,″蝦仁″:27,″牛肉″:57,″1123″:100}sp=input(″輸入商品名稱″)z1=int(input(″輸入商品重量″))________________print(″金額為:″+str(je))(1)在程序劃線處填入合適的代碼。(2)程序運行時,分別輸入1123和6,則輸出的金額為____________。(3)修改dict的內容為dict={″蝦仁″:27,″牛肉″:57,″1123″:100,″甘藍″:10,″小黃魚″:28},________(填:是/否)會影響程序運行的結果。聽課筆記: 1.某Python程序代碼如下:sfz=input(″請輸入您的身份證號碼:″)year=int(sfz[6:10])month=________day=int(sfz[12:14])print(″您是的出生年月日是″,year,″年″,month,″月″,day,″日!″)程序運行后,輸入″33018320050907002X″后,輸出的結果為:您是的出生年月日是2005年9月7日!。將劃線空白處的代碼補充完整。2.有如下Python程序段:a=int(input(″please input a:″))b=int(input(″please input b:″))c=aa=bb=cprint(″a=″,a,″b=″,b)(1)執行上述代碼時,分別輸入3、5,輸出結果為____________。(2)如果交換語句“a=b”和“b=c”的位置,則輸出結果為____________。3.有如下Python程序段:a=int(input(″please input a:″))b=int(input(″please input b:″))x=pow(a,b)y=pow(b,a)ans=x>=yprint(″ans=″,ans)(1)程序運行時,輸入a、b的值分別為3、4,程序段運行后,變量x的值為________,變量y的值為________。(2)程序段執行后,輸出的結果為________。4.有如下Python程序段:dict1={″R″:″red″,″G″:″Green″,″b″:″Blue″}dict1[″y″]=″Yello″dict1[″b″]=″Black″print(dict1)執行上述代碼后,程序輸出的結果為__________。5.有如下Python程序段:List1=[11,13,9,5,8,7,6,14]List1_len=len(List1)ans=(max(List1)-min(List1))*List1_lenprint(ans)執行上述代碼后,程序輸出的結果為__________。 展開更多...... 收起↑ 資源列表 課時3 順序結構及程序實現 學案 浙教版(2019)必修1.doc 課時3 順序結構及程序實現 教案 浙教版(2019)必修1.doc 課時3 順序結構及程序實現 課件(共42張ppt)浙教版(2019)必修1.pptx 縮略圖、資源來源于二一教育資源庫