資源簡介 第三章 算法的程序實現一、選擇題1.下列能判斷變量x是整數的條件表達式是( )A.x%2==1 B.x%2==0 C.int(x)==x D.random(x)=x2.下面( )是不合法的標識符?A.2var B.var2 C._var D._2_3.有如下Python程序段( )a=[]for i in range(100):if i%10==0:a.append(i)則程序執行后,a[1]和a[-1]的值分別是A.0和100 B.10和100 C.0和90 D.10和904.下列程序運行后,結果可能的是( )import randomlist1=[]i=0while i<=5:n=random.randint(10,45)if n%5!=0:list1.append(n)i=i+1m=random.sample(list1,2)print(m)A.[35, 14] B.[33, 24] C.14, 24 D.[23.0, 45.0]5.假定選拔空軍飛行學員時,只有符合身高(T)在165-178cm(含168cm和178cm)、體重(W)在52kg(含52kg)以上條件的學生才有資格報考,則表示該條件的邏輯表達式是( )A.T>=165 or T<=178 or W>=52B.T>=165 & T<=178 or W>=52C.T>=165 and T<=178 or W>=52D.T>=165 and T<=178 and W>=526.下列代碼如果從鍵盤輸入7,那運行結果是( )。varl=input("請輸入一個數:")var2=var1+'0'var3=int(var2)+3print(float(var3))A.703 B.73 C.703.0 D.73.07.下列Python表達式中,可以表示x在區間(a,b]內的是( )A. B.C. D.8.如下Python程序段x = 5 < 3print( x)程序的運行后,顯示的結果是( )A.False B.True C.0 D.-1二、簡答題9.利用for循環,分別計算1--100中奇數的和、偶數的和。sum1=0sum2=0for i in range(1,100):if i%2==0:sum1+=ielse:sum2+=iprint(sum1,sum2)10.利用python程序設計語言,編寫一個輸出1-10以內的偶數(包含10)的代碼。三、操作題11.某加密算法的加密部分Python程序段如下:def encrypt(msg,key):result = ""size = len(msg)for i in range(0,size):result = result + msg[(i - key) % size]return resultmsg = input("請輸入明文:")key = int(input("請輸入密鑰:"))re = _________print(re)(1)請在劃線處補充代碼。(2)如果輸入的msg為“cdef”,key為3,那么輸出的結果為______。(3)這種加密機制稱為____(選填字母:A.置換密碼;B.換位密碼;C.簡單異或密碼)。四、判斷題12.在 Python語言環境下,For循環語句中的循環體在書寫時需要縮進,且必須縮進四個空格。 (_____)13.在運行程序時,先執行主程序再調用函數。(____)14.下列程序段中,賦值語句s=s+i被重復執行了4次。s=0For i in range(3,10,2):s=s+i (_____)15.Python中的“=”是賦值運算符,跟數學上的“=”意義不一樣。(______)16.Python是動態語言,變量需要根據其要賦予的值提前定義數據類型。(______)17.若n=6,m=3,則表達式m+3==n and n-3>=m的值為true。(______)五、填空題18.下面程序的運行結果為:_______________________,s=0for i in range(1,101):s+=iif i == 50:print(s)break19.利用迭代算法解決問題,有三個關鍵步驟:確定________;建立迭代________;對迭代過程進行________,這是編寫迭代程序必須考慮的問題,不能讓迭代過程無休止地重復執行下去。20.閱讀下列程序,寫出運行結果警察抓小偷,有四個嫌疑人甲乙丙丁,其中一人是小偷。甲說“不是我”,乙說“是丙”,丙說“是丁”,丁說“丙在冤枉人”。他們中只有一人說了假話,編程判斷誰是小偷。(注:在Python運算中,True的值為1,False的值為0)persons=[’甲’,’乙’,’丙’,’丁’] for thief in persons: flag =(thief!=’甲’)+(thief==’丙’)+(thief ==’丁’)+(thief!=’丁’) if flag == 3: print(thief)運行結果是:____________21.numpy是一個科學計算包,其中包括很多________,如________、矩陣計算方法、________、線性代數等。22.分析完善程序求s=3+6+9+... +300值。解決該問題,可以采用如下兩種不同的方法:請補充完成上述程序:(1)____________ (2)___________23.數學可以看到算術表達式:a * b= c,現在有一段程序可以輸入乘數和被乘數(默認正整數),并輸出上述表達式的效果。例如:輸入:3 5 ,輸出的結果為:3 * 5= 15。a=int(input(“請輸入正整數:”))b=int(input(“請輸入正整數:”))c=a*bprint(_______)+ ”*” + _______ “=” ______ )請將上述缺失的代碼補充完整。試卷第2頁,共3頁試卷第1頁,共1頁參考答案1.C2.A3.D4.B5.D6.D7.A8.A9.代碼解析注釋如下:sum1=0#定義sum1存儲偶數和,并賦值sum1=0sum2=0#定義sum2存儲偶數和,并賦值sum2=0for i in range(1,100):#通過遍歷1至100的所有整數,分別計算1至100中的偶數和、奇數和if i%2==0:#若i是偶數,則把偶數加到sum1中sum1+=ielse:#若i是奇數,則把奇數加到sum2中sum2+=iprint(sum1,sum2)#輸出結果,偶數和sum1的值為2550,奇數和sum2的值為250010.代碼1:for value in range(2,11,2):print(value)代碼2:i=2while i<11:print(i)i=i+211.encrypt(msg,key) defc A12.錯誤13.正確14.正確15.正確16.錯誤17.正確18.127519.迭代變量 關系式 控制20.丙21.數學函數 矢量運算 三角函數22.i*3或3*i i23.str(a) str(b)+ +str(c)答案第1頁,共2頁 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫