資源簡介 3.2Python語音程序設計一、選擇題1.在一次比賽中,需要隨機給10名選手各編一個0~9范圍內的唯一序號,對應的Python程序段如下:_________________a,b=[0]*10,[False]*10i=0while i<=9:_________________if not b[r]:a[i]=r___________i=i+1print(a)則劃線處的代碼依次是( )① r=random.randint(0,10) ② b[r]=True ③import random④ b[i]=True ⑤from random import randint ⑥ r=random.randint(0,9)A.⑤①② B.⑤⑥④ C.③①④ D.③⑥②2.執行下列Python程序段后,變量x的值是( )x=2print(x+1)Print(x+2)A.2 B.3 C.4 D.53.已知a=5,b=6,則執行下列語句后,a和b的值分別是( )a=a+bb=a+bA.11;17 B.11;11 C.17;11 D.5;64.在Python語句中,”0x”表示十六進制,”0b”表示二進制,”0o”表示八進制,則print(0xA+0xB)的輸出結果是( )A.0xA+0xB B.A+B C.0xA0xB D.215.下列選項中錯誤的賦值語句( )A.a,b=5,8 B.11=a+b C.a=b=9 D.a=a+b6.下面程序的運行結果是( )。>>> list1=[a,3,b,10]>>> del list1[1:3]>>> print(list1)A.[3, 10] B.[a, 10] C.[b, 10] D.[10]7.下面的Python代碼實現了讀入若干非負整數,統計其中奇數個數的功能。要想實現這一功能,應該在空格處填( )。li = map(int, input(). split())cnt=0for i in li: if ______ : cnt+=1print("奇數有{}個。". format(cnt))A.i%2==1 B.i%2 C.i//2==1 D.i/2==18.整型變量x存放了一個兩位數,以下Python表達式中能正確求出x的數字之和的是( )。A.(x%10)+x//10 B.(x%10)//10+x//10C.(x/10)%10+x//10 D.(x%10)+x/109.執行下列語句,輸出的結果是( )。x,y = 1, 2x, y = y, xprint(x, y)A.1 1 B.2 2 C.2 1 D.1 210.若變量 x 的值為“IT”,變量 y 的值為“技術”,則運行代碼 print(x*2+y),輸出的結果是( )A.IITT技術 B.IT2技術 C.IT*2+技術 D.ITIT技術11.執行下列語句,輸出的結果是( )。a=[10,20,30,40,50,60,70,80,90]j = i = 1i+= j + j * 5print(a[i]+a[j])A.6 B.10 C.60 D.10012.表達式 30+2**5//3-2的值為( )。A.78 B.64 C.38 D.3413.執行下列語句,輸出的結果是( )。a="student"b=a[-2:-5:-1]print(b)A."den" B."ned" C."ude" D."edu"14.Python表達式5%4/2*2的計算結果是( )。A.3 B.2 C.1 D.1.015.如aa=’345’,它的回文數是“34543”,以下表達式無法得到回文數的是( )A.new=aa+aa[-2:-4:-1] B.new=int(aa)*100+int(aa[1::-1])C.new=aa+aa[1]+aa[0] D.new=(aa[0]+aa[1]+aa[2])*216.以下語句的運行結果是( )pwd= {" Name" : "User", "Password" :"@YueKao108"}pwd["Name* ]=" Administrator"print(pwd["Name"][:4])A."User" B."resU" C."Admi" D."Admin"17.以下表達式中能夠將變量ch中的單個大寫英文字符轉化為小寫英文字符的是( )A.chr(ord(ch)+20) B.chr(ord(ch)-20)C.chr(ord(ch)+32) D.chr(ord(ch)-32)二、簡答題18.請描述列表和元組之間的區別,以及分別在他們之間轉型?19.read、readline和readlines之間的區別?20.根據輸入的百分制分數,將其轉換為等級制(優、良、中、及格、不及格)并輸出。試卷第2頁,共2頁參考答案1.B【詳解】本題主要考查Python程序的綜合應用。使用隨機函數需要首先導入隨機函數庫,故第一空填from random import randint。random()方法返回隨機生成的一個實數,它在[0,1)范圍內。random.randint(a,b)用于生成一個指定范圍內的整數。其中參數a是下限,參數b是上限,生成的隨機數n: a <= n <= b,需要隨機給10名選手各編一個0~9范圍內的唯一序號,故第二空填 r=random.randint(0,9),此處確保生成唯一序號,將其標記為True,故第三空填b[i]=True,故本題選B選項。2.A【詳解】本題主要考查Python程序的執行。print是輸出函數,程序執行后,x的值沒有發生變化,故本題選A選項。3.A【詳解】本題主要考查Python語句執行。a=5,b=6,a=a+b=5+6=11,b=a+b=11+6=17,故本題選A選項。4.D【詳解】本題主要考查Python語句。”0x”表示十六進制,故0xA=10,0xB=11,則print(0xA+0xB)的輸出結果是21,故本題選D選項。5.B【詳解】本題主要考查Python賦值語句。賦值語句是將“=”右邊的表達式賦給左邊的變量,語句11=a+b中,11是常量,是錯誤的賦值語句,故本題選B選項。6.B【詳解】本題主要考查Python列表。列表下標是從0開始,del list1[1:3]表示刪除列表1索引1、2的元素,即刪除3和b,則刪除后,list1=[a,10],故本題選B選項。7.A【詳解】本題主要考查Python分支結構。統計其中奇數個數的功能,故if用來判斷i是否為奇數,故填i%2==1,故本題選A選項。8.A【詳解】本題主要考查Python表達式的運算。“/”是除運算,“//”是整除,整型變量x存放了一個兩位數,則個位數是x%10,十位數是x//10,則求出x的數字之和的是(x%10)+x//10,故本題選A選項。9.C【詳解】本題主要考查Python程序的執行。x=1,y=2,語句x, y = y, x實現交換x、y的值,交換后x=2,y=1,故本題選C選項。10.D【詳解】本題主要考查Python字符串。變量 x 的值為“IT”,變量 y 的值為“技術”,則x*2+y=“ITIT技術”,故本題選D選項。11.D【詳解】本題主要考查Python程序的執行。a=[10,20,30,40,50,60,70,80,90],j = i = 1,i=i+j+j*5=7,a[i]+a[j]=a[7]+a[1]=80+20=100,故輸出的結果是100,故本題選D選項。12.C【詳解】本題主要考查Python表達式的運算。30+2**5//3-2=30+32//3-2=30+10-2=38,故本題選C選項。13.B【詳解】本題主要考查Python切片操作。切片操作基本表達式:object[start_index:end_index:step],step:正負數均可,其絕對值大小決定了切取數據時的“步長”,而正負號決定了“切取方向”,正表示“從左往右”取值,負表示“從右往左”取值。start_index:表示起始索引(包含該索引對應值),該參數省略時,表示從對象“端點”開始取值。end_index:表示終止索引(不包含該索引對應值),該參數省略時,表示一直取到數據“端點”。a="student",則b=a[-2:-5:-1]="ned",故本題選B選項。14.D【詳解】本題主要考查Python表達式的運算。5%4/2*2=1/2*2=0.5*2=1.0,故本題選D選項。15.D【詳解】本題主要考查Python表達式。切片操作基本表達式:object[start_index:end_index:step],step:正負數均可,其絕對值大小決定了切取數據時的“步長”,而正負號決定了“切取方向”,正表示“從左往右”取值,負表示“從右往左”取值。start_index:表示起始索引(包含該索引對應值),該參數省略時,表示從對象“端點”開始取值。end_index:表示終止索引(不包含該索引對應值),該參數省略時,表示一直取到數據“端點”。如aa=’345’,它的回文數是“34543”,選項A、B、C均可以得到“34543”,而選項D得到的是“345345”,故本題選D選項。16.C【詳解】本題主要考查Python字典數據類型。切片操作基本表達式:object[start_index:end_index:step],step:正負數均可,其絕對值大小決定了切取數據時的“步長”,而正負號決定了“切取方向”,正表示“從左往右”取值,負表示“從右往左”取值。start_index:表示起始索引(包含該索引對應值),該參數省略時,表示從對象“端點”開始取值。end_index:表示終止索引(不包含該索引對應值),該參數省略時,表示一直取到數據“端點”。pwd["Name* ]=" Administrator",是將鍵Name的值替換為" Administrator",故pwd["Name"][:4]的值是"Admi",故本題選C選項。17.C【詳解】本題主要考查Python表達式。ord函數將字符轉換為ASCII碼值,chr函數將ASCII碼值轉換為對應字符。小寫字母比大寫字母的ASCII碼值大32,如“a”的ASCII碼值是97,“A”的ASCII碼值是65,故表達式chr(ord(ch)+32)可以將變量ch中的單個大寫英文字符轉化為小寫英文字符,故本題選C選項。18.List 和tuple 區別 不同點: 1 定義的方式 list[] tuple() 2 是否可變 list可變 tuple() 不可變 3 list中有 append(),insert() 函數,tuple中沒有相同點: 都是有序的集合(容器)List轉為tuple:temp_list = [1,2,3,4,5]將temp_list進行強制轉換:tuple(temp_list)tuple 轉為list:temp_tuple = (1,2,3)方法類似,也是進行強制轉換即可:list(temp_tuple)【詳解】本題主要考查Python元組和類別的區別。List 和tuple 區別如下: 不同點: 1 定義的方式 list[] tuple() 2 是否可變 list可變 tuple() 不可變 3 list中有 append(),insert() 函數,tuple中沒有相同點: 都是有序的集合(容器)List轉為tuple:temp_list = [1,2,3,4,5]將temp_list進行強制轉換:tuple(temp_list)tuple 轉為list:temp_tuple = (1,2,3)方法類似,也是進行強制轉換即可:list(temp_tuple)19.read 讀取整個文件;readline 讀取下一行,使用生成器方法;readlines 讀取整個文件到一個迭代器以供我們遍歷。【詳解】本題主要考查Python文件讀取函數。read、readline和readlines之間的區別是:read 讀取整個文件;readline 讀取下一行,使用生成器方法;readlines 讀取整個文件到一個迭代器以供我們遍歷。20.score=eval(input("請輸入你的分數:"))if score>=90:print("等級為優")elif 80<=score<90:print("等級為良")elif 70<=score<80:print("等級為中")elif 60<=score<50:print("等級為及格")else:print("等級為不及格")【詳解】本題主要考查分支條件結構知識點。輸入用input函數,條件分支用if...elif,輸出函數用print。答案第4頁,共5頁答案第5頁,共5頁 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫