資源簡介 中小學教育資源及組卷應用平臺4.1.1Python的常量和變量-粵教版(2019)高中信息技術必修一練習學校:___________姓名:___________班級:___________考號:___________一、選擇題1.下面()是Python合法的變量名A.int32B.40XLC.selfD.name【答案】ACD【解析】【詳解】本題主要考查Python變量的命名。Python變量的命名不能以數字開頭(可以以下劃線或字母開頭),不能包含特殊符號,不能是關鍵字,故本題選ACD選項。2.關于程序中的變量,以下說法中錯誤的是()。A.將數據存入某變量后,讀取該變量中的值,不會改變該變量的值B.將數據存入某變量以后就不能將新的數據存入該變量C.將數據存入某變量以后可以將新的數據存入該變量D.在一個問題的計算過程中,可能需要使用多個變量【答案】B【解析】【詳解】本題考查的是變量相關知識。變量是指在程序執行過程中其值可能隨時發生改變的存儲單元或數據。將數據存入某變量以后可以將新的數據存入該變量,故選項B錯誤。3.下列選項中,不屬于Python特點的是()。A.面向對象B.運行效率高C.可讀性好D.開源【答案】B【解析】【分析】【詳解】本題考查Python特點的相關知識點Python是一門面向對象、可讀性好、開源的語言。因為是高級語言,不具備運行效率高的特點。故本題選B選項【來源:21·世紀·教育·網】4.有python程序如下a=int(input())b=int(input())c=input()ifc=='+':print(a+b)elifc=='-':print(a-b)elifc=='':print(ab)elifc=='/':print(a/b)else:print(“輸入錯誤,請重試”)當程序運行后,小新依次輸入92程序輸出結果應為()A.18B.11C.7D.4【答案】A【解析】【詳解】本題考查Python程序段。當程序運行后,小新依次輸入92,即a=9,b=2,c=,則elifc==‘’:成立,執行print(ab),結果為18,故本題選A。5.下面是小新在某道編程題中定義的變量,哪個變量名是不合法的()A.apple_Prince3B._mathC.3appleD.Apple【答案】C【解析】【詳解】本題考查python變量名命名規則。Python語言的標識符必須以字母,下畫線(_)開頭,后面可以跟任意數目的字母、數字和下畫線(_)。此處的字母并不局限于26個英文字母,可以包含中文字符、日文字符等。故本題選C。2·1·c·n·j·y6.在python中,運行下列程序,正確的結果是()s=0foriinrange(1,5):s=s+iprint("i=",i,"s=",s)A.i=4s=10B.i=5s=10C.i=5s=15D.i=6s=15【答案】A【解析】【分析】【詳解】本題考查Python程序實現。變量i的范圍是從1到4,當i=4時,跳出循環,此時s=0+1+2+3+4=10。故本題選A選項7.小新編制了一個python程序如下,但程序無法執行,你幫他找出程序中一共有幾處錯誤()1a=3b=input()c=a+bprint("c")A.1B.2C.3D.4【答案】C【解析】【分析】【詳解】本題考查Python程序語法Python變量命名不能以數字開頭、變量b、c必須先定義后使用。故有3處錯誤,故本題選C選項8.在python中,以下哪個選項a的數據類型為整型()A.a=5B.a=input()C.a='5'D.a=5.0【答案】A【解析】【詳解】本題考查Python數據類型。Python數據類型有字符串,布爾類型,整數,浮點數等。a=5,a為整數型;a=‘5’,則a為字符串;a=5.0,則a為浮點數。故本題選A。9.以下哪項是一個繪圖庫模塊()A.numpyB.matplotlibC.plotD.arange【答案】B【解析】【詳解】本題考查Python相關知識。NumPy(NumericalPython)是Python的一種開源的數值計算擴展。這種工具可用來存儲和處理大型矩陣。Matplotlib是一個Python的2D繪圖庫,它以各種硬拷貝格式和跨平臺的交互式環境生成出版質量級別的圖形。plot和arange是python中的函數。故本題選B。21cnjy.com10.函數如下defchanageInt(number2):number2=number2+1print("changeInt:number2=",number2)#調用number1=2chanageInt(number1)print("number:",number1)打印結果哪項是正確的()A.changeInt:number2=3number:3B.changeInt:number2=3number:2C.number:2changeInt:number2=2D.number:2changeInt:number2=3【答案】B【解析】【詳解】本題考查Python相關知識。chanageInt(number1)將number1代入自定義函數chanageInt中,因為number1=2,所以函數中number2=3。打印函數print("changeInt:number2=",number2),得到changeInt:number2=3,number1的值沒變,所以本題選B。21·世紀教育網11.以下關于模塊說法錯誤的是()A.一個xx.py就是一個模塊B.任何一個普通的xx.py文件可以作為模塊導入C.模塊文件的擴展名不一定是.pyD.運行時會從制定的目錄搜索導入的模塊,如果沒有,會報錯異常【答案】C【解析】【詳解】本題考查python相關知識。python模塊定義:邏輯上來說模塊就是一組功能的組合。實質上一個模塊就是一個包含了python定義和聲明的文件,文件名就是模塊名字加上.py的后綴。模塊文件的擴展名一定是py,故本題選項C的說法錯誤。12.導入模塊的方式錯誤的是()A.importmoB.frommoimportC.importmoasmD.importmfrommo【答案】D【解析】【詳解】本題考查Python相關知識。導入模塊的方式可以是importmo,frommoimport或者importmoasm。選項D是錯誤的導入模塊方式。故本題選D。13.下列關于變量的說法,錯誤的是()。A.程序中的變量是計算過程中要用到的數據的存儲單元B.在算法的執行過程中可以讀取變量的值,也可以將數據存儲到指定的變量中C.對變量的賦值操作將改變其原來的值D.數據存儲到某個變量,當數據被讀取后,變量中的數據將變為空【答案】D【解析】【詳解】本題考查的是變量相關知識。是指在程序執行過程中其值可能隨時發生改變的存儲單元或數據。數據存儲到某個變量,當數據被讀取后,變量中的數據不變。故選項D錯誤。21教育網二、操作題14.以下是牛頓迭代程序,認真閱讀,填寫橫線內容.importmatha=float(input("請輸入方程系數a_________:"))b=float(input("請輸入方程系數b:"))c=float(input("請輸入方程系數c:"))d=bb-4acif___________:x1=(-b+math.sqrt(d))/(2a)x2=(-b-math.sqrt(d))/(2a)print("方程有兩個不同的解",x1,x2)elif____________:x1=-b/(2a)print("方程有兩個相同的解",x1)else:print("方程無解")【答案】①(!=0)②d>0③d==0【解析】【詳解】本題考查Python相關知識。(1)一元二次方程要求系數a!=0,故填入(!=0)。(2)如果bb-4ac>0,則有兩個解,故填入d>0。(3)當d=0時,方程只有一個解,故填入d==0。www.21-cn-jy.com15.listque=[]#定義列表listque存儲訂單x=0while(x!=4):#當x=!4時,執行循環print('1.添加訂單')print('2.發貨')print('3.查看訂單列表')print('4.退出')x=int(input("輸入你的選擇:"))#輸入選擇項ifA:y=input("輸入訂單編號:")#輸入訂單編號B#在列表listque中添加訂單號elifx==2:C#如果訂單列表為空print("訂單列表為空")else:print("發貨單號:"+listque.pop(0))elifx==3:print("等待發貨:",listque)#查詢列表listque中的訂單號print()input("運行完畢,請按回車鍵退出...")(1)此列表,定義的是(_____)列表。(從“空、非空”里選填)(2)補充劃線A處的內容____________________(3)補充劃線B處的內容____________________(4)補充劃線C處的內容____________________【答案】空x==1listque.append(y)iflen(listque)==0:【解析】【詳解】本題考查Python相關知識。(1)根據listque=[],定義的是空列表。(2)代碼第一空,x==1,代表添加訂單操作。(3)第二空在列表listque中添加訂單號y,則listque.append(y)(4)第三空,如果訂單列表為空,則iflen(listque)==0。16.下面是隨機點名器的代碼設計,大致可分為四個模塊。一是導入相應模塊,二是窗體界面元素的產生及布局和有關屬性設置,三是打開“點名冊.txt”,讀取并保存姓名數據,四是設計兩個按鈕的單擊事件代碼。以下是部分代碼,認真閱讀,補充完成下列程序。www-2-1-cnjy-comfrom______________#導入tkinter模塊importtkinter.messagebox#導入彈窗庫模塊importrandom#導入隨機數模塊importdatetime#導入日期時間模塊root=Tk()#創建主窗口root.title("隨機點名器")#設置窗口標題root.geometry('808x280+300+200')#設置窗口大小及位置root.resizable(0,0)#禁止調整窗口大小var=StringVar()#定義StringVar()類型21cnjycomvar1=StringVar()c=_____("點名冊.txt",'r')#以只讀模式打開文件a=c.readlines()#讀取文件全部內容c.___________#關閉文件b=[]#b作為列表a的備份【答案】①tkinterimport②open③close【解析】【詳解】本題考查python相關知識。(1)導入tkinter模塊,故填入tkinterimport(2)以只讀模式打開文件,故填入open。(3)關閉文件,填入close。17.請編寫程序,實現輸入一個人的出生年份(>=1972),輸出他的生肖,直到輸入0結束,運行結果如下:【來源:21cnjy.com】請輸入出生年份,輸入0結束:2004你的生肖是:猴請輸入出生年份,輸入0結束:完善下列代碼,實現上述功能.defshengxiao(year):#求生肖zodiac=["鼠","牛","虎","兔","龍","蛇","馬","羊","猴","雞","狗","豬"]_____________①②_____________#以下為主程序myyear=int(input("請輸入出生年份,輸入0結束:"))whilemyyear!=0:print("你的生肖是:",_______③)myyear=int(input("請輸入出生年份,輸入0結束:"))【答案】①index=(myyear-1972)%12②returnzodiac[index]③shengxiao(myyear)2-1-c-n-j-y【解析】【詳解】本題考查Python相關知識。(1)第一空在根據出生年和1972差值的余數從切片中取相應字符。因為1972正好是鼠年。故填入index=(myyear-1972)%12。(2)第二空,根據index的值從切片中取字符,返回給函數,故填入returnzodiac[index]。(3)此處為調用函數,將輸入的年份代入,故填入shengxiao(myyear)。三、填空題18.遞歸的基本思想是把________的問題層層轉化為規模較小的________問題求解。對遞歸而言,________與________,二者缺一不可。【出處:21教育名師】【答案】規模較大同類遞推回歸【解析】【詳解】本題考查遞歸思想。程序調用自身的編程技巧稱為遞歸(recursion)。遞歸做為一種算法在程序設計語言中廣泛應用。一個過程或函數在其定義或說明中有直接或間接調用自身的一種方法,它通常把一個大型復雜的問題層層轉化為一個與原問題相似的規模較小的問題來求解,遞歸策略只需少量的程序就可描述出解題過程所需要的多次重復計算,大大地減少了程序的代碼量。遞歸的能力在于用有限的語句來定義對象的無限集合。【版權所有:21教育】19.利用迭代算法解決問題,有三個關鍵步驟:確定________;建立迭代________;對迭代過程進行________,這是編寫迭代程序必須考慮的問題,不能讓迭代過程無休止地重復執行下去。21教育名師原創作品【答案】迭代變量關系式控制【解析】【詳解】本題考查Python相關知識。迭代法也稱輾轉法,是一種不斷用變量的舊值遞推新值的過程,跟迭代法相對應的是直接法,即一次性解決問題。迭代算法是用計算機解決問題的一種基本方法,它利用計算機運算速度快、適合做重復性操作的特點,讓計算機對一組指令進行重復執行,在每次執行這組指令(或這些步驟)時,都從變量的原值推出它的一個新值,迭代法又分為精確迭代和近似迭代。利用迭代算法解決問題,有三個關鍵步驟:確定迭代變量;建立迭代關系式;對迭代過程進行控制,這是編寫迭代程序必須考慮的問題,不能讓迭代過程無休止地重復執行下去。20.matplotlib模塊是一個________。matplotlib的繪圖原理很簡單,利用________畫線函數就可以在直角平面內輕松地將________坐標點對連接成平滑曲線。【答案】繪圖庫plot(x,y)【解析】【詳解】本題考查matplotlib模塊。Matplotlib是一個Python的2D繪圖庫,它以各種硬拷貝格式和跨平臺的交互式環境生成出版質量級別的圖形。matplotlib模塊是一個繪圖庫。matplotlib的繪圖原理很簡單,利用plot畫線函數就可以在直角平面內輕松地將(x,y)坐標點對連接成平滑曲線。21cnjycom21.numpy是一個科學計算包,其中包括很多________,如________、矩陣計算方法、________、線性代數等。【答案】數學函數矢量運算三角函數【解析】【詳解】本題考查Python相關知識。NumPy(NumericalPython)是Python的一種開源的數值計算擴展。這種工具可用來存儲和處理大型矩陣numpy是一個科學計算包,其中包括很多數學函數,如矢量運算、矩陣計算方法、三角函數、線性代數等。22.用Python訪問Access數據庫一般可分為________個步驟:第一步:建立與________的連接;第二步:根據需要________;第三步:訪問記錄集,________;第四步:根據需要把處理好的數據________中;第五步:________與數據庫的連接。【答案】五數據庫產生記錄集處理數據更新到數據庫斷開【解析】【詳解】本題考查Python訪問Access相關知識。用Python訪問Access數據庫一般可分為五個步驟:第一步,建立與數據庫的連接;第二步,根據需要產生記錄集;第三步,訪問記錄集處理數據;第四步,根據需要把處理好的數據更新到數據庫中;第五步,斷開與數據庫的連接。21·cn·jy·com23.Python中讀寫文本文件的方法,其中打開用________把外存儲器里的文本文件(.txt)打開;存儲用________將內存中的數據存儲到外存儲器的文件中;關閉文件時一定要用________關閉文件。21世紀教育網版權所有【答案】open函數write方法close方法【解析】【詳解】本題考查Python相關知識。Python中讀寫文本文件的方法,其中打開用open函數把外存儲器里的文本文件(.txt)打開;存儲用write方法將內存中的數據存儲到外存儲器的文件中;關閉文件時一定要用close方法關閉文件。24.Python內置函數______用來返回數值型序列中所有元素之和。【答案】sum()【解析】【詳解】本題考查Python相關知識。Python內置函數sum()用來返回數值型序列中所有元素之和。25.Python內置函數______用來返回序列中的最小元素。【答案】min()【解析】【詳解】本題考查Python相關知識。Python內置函數min()用來返回序列中的最小元素。26.Python內置函數______用來返回序列中的最大元素。【答案】max()【解析】【詳解】本題考查Python相關知識。Python內置函數max()用來返回序列中的最大元素。27.參數的作用是______,當有多個參數時,各參數之間用______分隔開。【答案】向函數傳遞值逗號【解析】【詳解】本題考查Python相關知識。函數參數的作用是傳遞數據給函數使用。在使用的過程中,參數有兩種形式:形式參數和實際參數。形參,定義函數時的參數。實參,調用函數時的參數根據實際參數類型不同,將實際參數傳遞給形參的方式有兩種:值傳遞和引用傳遞。當有多個參數時,各參數之間用逗號分隔開。28.系統函數即函數庫中的標準函數,是程序設計語言或操作系統提供給用戶的一系列______的程序。【答案】已經編制好【解析】【詳解】本題考查Python相關知識。函數可分為系統函數和自定義函數。系統函數即函數庫中的標準函數,是程序設計或操作系統提供給用戶的一系列已經編制好的程序。29.函數可分為______和______兩種類型。【答案】系統函數用戶自定義函數【解析】【詳解】本題考查Python相關知識。函數可分為系統函數和自定義函數。系統函數即函數庫中的標準函數,是程序設計或操作系統提供給用戶的一系列已經編制好的程序。四、判斷題30.def塊中的代碼不是主程序的一部分,會跳過該段代碼.(____)【答案】對【解析】【詳解】本題考查Python相關知識。def是自定義函數,是用戶自己編寫的一段程序,一般包括函數名,參數,返回值和函數體等四部分,其中參數和返回值可根據需要進行定義。def塊中的代碼不是主程序的一部分,會跳過該段代碼。題干說法正確。31.用戶自定義函數是用戶自己寫的一段程序.一般包括函數名、參數、返回值、函數體等四部分.其中,函數名和參數是必不可少的部分.(____)【答案】錯【解析】【詳解】本題考查自定義函數。用戶自定義函數是用戶自己寫的一段程序.一般包括函數名、參數、返回值、函數體等四部分.其中,其中參數和返回值可根據需要進行定義。題干說法錯誤。21世紀教育網www.21cnjy.com精品試卷·第2頁(共2頁)21世紀教育網(www.21cnjy.com)中小學教育資源及組卷應用平臺4.1.1Python的常量和變量-粵教版(2019)高中信息技術必修一練習學校:___________姓名:___________班級:___________考號:___________一、選擇題1.下面()是Python合法的變量名A.int32B.40XLC.selfD.name2.關于程序中的變量,以下說法中錯誤的是()。A.將數據存入某變量后,讀取該變量中的值,不會改變該變量的值B.將數據存入某變量以后就不能將新的數據存入該變量C.將數據存入某變量以后可以將新的數據存入該變量D.在一個問題的計算過程中,可能需要使用多個變量3.下列選項中,不屬于Python特點的是()。A.面向對象B.運行效率高C.可讀性好D.開源4.有python程序如下a=int(input())b=int(input())c=input()ifc=='+':print(a+b)elifc=='-':print(a-b)elifc=='':print(ab)elifc=='/':print(a/b)else:print(“輸入錯誤,請重試”)當程序運行后,小新依次輸入92程序輸出結果應為()A.18B.11C.7D.45.下面是小新在某道編程題中定義的變量,哪個變量名是不合法的()A.apple_Prince3B._mathC.3appleD.Apple6.在python中,運行下列程序,正確的結果是()s=0foriinrange(1,5):s=s+iprint("i=",i,"s=",s)A.i=4s=10B.i=5s=10C.i=5s=15D.i=6s=157.小新編制了一個python程序如下,但程序無法執行,你幫他找出程序中一共有幾處錯誤()1a=3b=input()c=a+bprint("c")A.1B.2C.3D.48.在python中,以下哪個選項a的數據類型為整型()A.a=5B.a=input()C.a='5'D.a=5.09.以下哪項是一個繪圖庫模塊()A.numpyB.matplotlibC.plotD.arange10.函數如下defchanageInt(number2):number2=number2+1print("changeInt:number2=",number2)#調用number1=2chanageInt(number1)print("number:",number1)打印結果哪項是正確的()A.changeInt:number2=3number:3B.changeInt:number2=3number:2C.number:2changeInt:number2=2D.number:2changeInt:number2=311.以下關于模塊說法錯誤的是()A.一個xx.py就是一個模塊B.任何一個普通的xx.py文件可以作為模塊導入C.模塊文件的擴展名不一定是.pyD.運行時會從制定的目錄搜索導入的模塊,如果沒有,會報錯異常12.導入模塊的方式錯誤的是()A.importmoB.frommoimportC.importmoasmD.importmfrommo13.下列關于變量的說法,錯誤的是()。A.程序中的變量是計算過程中要用到的數據的存儲單元B.在算法的執行過程中可以讀取變量的值,也可以將數據存儲到指定的變量中C.對變量的賦值操作將改變其原來的值D.數據存儲到某個變量,當數據被讀取后,變量中的數據將變為空二、操作題14.以下是牛頓迭代程序,認真閱讀,填寫橫線內容.importmatha=float(input("請輸入方程系數a_________:"))b=float(input("請輸入方程系數b:"))c=float(input("請輸入方程系數c:"))d=bb-4acif___________:x1=(-b+math.sqrt(d))/(2a)x2=(-b-math.sqrt(d))/(2a)print("方程有兩個不同的解",x1,x2)elif____________:x1=-b/(2a)print("方程有兩個相同的解",x1)else:print("方程無解")15.listque=[]#定義列表listque存儲訂單x=0while(x!=4):#當x=!4時,執行循環print('1.添加訂單')print('2.發貨')print('3.查看訂單列表')print('4.退出')x=int(input("輸入你的選擇:"))#輸入選擇項ifA:y=input("輸入訂單編號:")#輸入訂單編號B#在列表listque中添加訂單號elifx==2:C#如果訂單列表為空print("訂單列表為空")else:print("發貨單號:"+listque.pop(0))elifx==3:print("等待發貨:",listque)#查詢列表listque中的訂單號print()input("運行完畢,請按回車鍵退出...")(1)此列表,定義的是(_____)列表。(從“空、非空”里選填)(2)補充劃線A處的內容____________________(3)補充劃線B處的內容____________________(4)補充劃線C處的內容____________________16.下面是隨機點名器的代碼設計,大致可分為四個模塊。一是導入相應模塊,二是窗體界面元素的產生及布局和有關屬性設置,三是打開“點名冊.txt”,讀取并保存姓名數據,四是設計兩個按鈕的單擊事件代碼。以下是部分代碼,認真閱讀,補充完成下列程序。21世紀教育網版權所有from______________#導入tkinter模塊importtkinter.messagebox#導入彈窗庫模塊importrandom#導入隨機數模塊importdatetime#導入日期時間模塊root=Tk()#創建主窗口root.title("隨機點名器")#設置窗口標題root.geometry('808x280+300+200')#設置窗口大小及位置root.resizable(0,0)#禁止調整窗口大小var=StringVar()#定義StringVar()類型21·cn·jy·comvar1=StringVar()c=_____("點名冊.txt",'r')#以只讀模式打開文件a=c.readlines()#讀取文件全部內容c.___________#關閉文件b=[]#b作為列表a的備份17.請編寫程序,實現輸入一個人的出生年份(>=1972),輸出他的生肖,直到輸入0結束,運行結果如下:21cnjy.com請輸入出生年份,輸入0結束:2004你的生肖是:猴請輸入出生年份,輸入0結束:完善下列代碼,實現上述功能.defshengxiao(year):#求生肖zodiac=["鼠","牛","虎","兔","龍","蛇","馬","羊","猴","雞","狗","豬"]_____________①②_____________#以下為主程序myyear=int(input("請輸入出生年份,輸入0結束:"))whilemyyear!=0:print("你的生肖是:",_______③)myyear=int(input("請輸入出生年份,輸入0結束:"))三、填空題18.遞歸的基本思想是把________的問題層層轉化為規模較小的________問題求解。對遞歸而言,________與________,二者缺一不可。www.21-cn-jy.com19.利用迭代算法解決問題,有三個關鍵步驟:確定________;建立迭代________;對迭代過程進行________,這是編寫迭代程序必須考慮的問題,不能讓迭代過程無休止地重復執行下去。2·1·c·n·j·y20.matplotlib模塊是一個________。matplotlib的繪圖原理很簡單,利用________畫線函數就可以在直角平面內輕松地將________坐標點對連接成平滑曲線。21.numpy是一個科學計算包,其中包括很多________,如________、矩陣計算方法、________、線性代數等。【來源:21·世紀·教育·網】22.用Python訪問Access數據庫一般可分為________個步驟:第一步:建立與________的連接;第二步:根據需要________;第三步:訪問記錄集,________;第四步:根據需要把處理好的數據________中;第五步:________與數據庫的連接。23.Python中讀寫文本文件的方法,其中打開用________把外存儲器里的文本文件(.txt)打開;存儲用________將內存中的數據存儲到外存儲器的文件中;關閉文件時一定要用________關閉文件。21教育網24.Python內置函數______用來返回數值型序列中所有元素之和。25.Python內置函數______用來返回序列中的最小元素。26.Python內置函數______用來返回序列中的最大元素。27.參數的作用是______,當有多個參數時,各參數之間用______分隔開。28.系統函數即函數庫中的標準函數,是程序設計語言或操作系統提供給用戶的一系列______的程序。29.函數可分為______和______兩種類型。四、判斷題30.def塊中的代碼不是主程序的一部分,會跳過該段代碼.(____)31.用戶自定義函數是用戶自己寫的一段程序.一般包括函數名、參數、返回值、函數體等四部分.其中,函數名和參數是必不可少的部分.(____)21世紀教育網www.21cnjy.com精品試卷·第2頁(共2頁)21世紀教育網(www.21cnjy.com) 展開更多...... 收起↑ 資源列表 4.1.1Python的常量和變量-粵教版(2019)高中信息技術必修一練習(原卷版).doc 4.1.1Python的常量和變量-粵教版(2019)高中信息技術必修一練習(解析版).doc 縮略圖、資源來源于二一教育資源庫