版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、Python練習題庫 By 鄭紅波 2017-12-19 一、 填空題 1. Python標準庫math中用來計算平方根的函數(shù)是 。( sqrt) 2. 在Python中表示空類型。(None) 3. 列表、元組、字符串是Python的(有序?無序)序列。(有序) 4. 查看變量類型的Python內(nèi)置函數(shù)是 。 ( type() 5. 查看變量內(nèi)存地址的Python內(nèi)置函數(shù)是 。 ( id() 6. 表達式1,2, 3*3 的執(zhí)行結(jié)果為 。( 1,2, 3, 1,2, 3, 1,2, 3) 7. list(map(str, 1,2, 3)的執(zhí)行結(jié)果為 。( 1,) , 3 8. 已知x = 3
2、,并且id(x)的返回值為 496103280,那么執(zhí)行語句x += 6之后,表達式id(x)= 496103280 的值為。( False) 9. 已知x = 3,那么執(zhí)行語句x *= 6之后,x的值為。( 18) 10. 表達式“ 3 in 1,2, 3, 4 ” 的值為。( False) 11. 假設列表對象aList的值為3, 4, 5, 6, 7, 9, 11, 13, 15, 17,那么切片aList3:7得到的值是 。(6, 7, 9, 11) 12. 使用列表推導式生成包含10個數(shù)字5的列表,語句可以寫為 。(5 for i in range(10) 13. 假設有列表 a =
3、 name, age, sex和b = Dong, 38, Male,請使用一個語句將這兩個列表的內(nèi) 容轉(zhuǎn)換為字典,并且以列表a中的元素為“鍵”,以列表b中的元素為“值”,這個語句可以寫 為。( c = dict(zip(a, b) 14. 任意長度的Python列表、元組和字符串中最后一個元素的下標為 。(-1) 15. Python 語句.join(list(hello world!) 執(zhí)行的結(jié)果是 。 (hello world!) 16. 轉(zhuǎn)義字符的含義是。(回車換行) 17. Python 語句 list(range(1,10,3)執(zhí)行結(jié)果為 。(1,4, 7) 18. 切片操作 li
4、st(range(6):2執(zhí)行結(jié)果為 。(0, 2, 4) 19. 表達式ab in acbed的值為。 (False) 20. Python 3.x 語句 print(1,2, 3, sep=:)的輸出結(jié)果為 。(1:2:3) 21. 表達式 int(4*0.5)的值為。(2) 22. 達式 sorted(111,2, 33, key=lambda x: -len(str(x)的值為。(111, 33, 2) 23. 已知列表對象 x = 11, 2, 3,則表達式 max(x)的值為。(3) 24. 表達式 min(11, 2, 3)的值為。(11) 25. 已知列表對象 x = 11,
5、2, 3,則表達式 max(x, key=len)的值為。( 11) 26. 語句x = (3,)執(zhí)行后x的值為。(3,) 27. 語句x = (3)執(zhí)行后x的值為。(3) 28. 已知x = 1:2,那么執(zhí)行語句x2 = 3之后,x的值為。(1: 2, 2: 3) 29. 字典對象的 方法返回字典中的“鍵-值對”列表。(items() 30. 使用列表推導式得到100以內(nèi)所有能被13整除的數(shù)的代碼可以寫作 。(i for i in range(100) if i%13=0) 31. 表達式3 * 2的值為。(9) 32. 表達式 3 * 2的值為。( 6) 33. 已知 x = 3, 5,
6、7,那么執(zhí)行語句xlen(x): = 1,2之后,x 的值為。(3, 5, 7, 1,2) 34. 表達式 list(zip(1,2, 3,4) 的值為 。(1,3), (2, 4) 35. 已知 x = 1,2, 3, 2, 3,執(zhí)行語句x.pop()之后,x 的值為。(1,2, 3, 2) 36. 表達式x for x in 1,2,3,4,5 if x1: prin t(k) k=k/2 3. 寫出下面代碼的運行結(jié)果。 def Sum(a, b=3, c=5): return sum(a, b, c) prin t(Sum(a=8, c=2) prin t(Sum(8) prin t(S
7、um(8,2) 答: 13 16 15 4. 寫出下列程序輸出結(jié)果 i=1 while i+1: if i4: prin t(%d%i) i+=1 break prin t(%d%i) i+=1 i+=1 5. 寫出下面代碼的運行結(jié)果。 def Sum(*p): return sum(p) print(Sum(3, 5, 8) prin t(Sum(8) prin t(Sum(8, 2, 10) 答: 16 8 20 6. 下面程序的執(zhí)行結(jié)果是 。 (1) s = 0 for i in ran ge(1,101): s += i else: prin t(1) 7. 下面程序的執(zhí)行結(jié)果是 。
8、(1275) s = 0 for i in ran ge(1,101): s += i if i = 50: prin t(s) break else: prin t(1) 8. 閱讀下面的代碼,輸出結(jié)果為 。 x = list(ra nge(10) for in dex, value in enu merate(x): if value = 3: xi ndex = 5 else: prin t(x) 答:將列表x中值為3的元素修改為5。 9. 閱讀下面的代碼,解釋其功能: import stri ng x = stri ng.ascii_letters + stri ng.digits i
9、mport ran dom prin t(.jo in(ran dom.sample(x, 10) 答:輸出由英文字母大小寫或數(shù)字組成的長度為10且不重復的隨機字符串。 10. 下面的代碼輸出結(jié)果為 。( 3) def demo(): x = 5 x = 3 demo() prin t(x) 11. 下面程序運行的結(jié)果為 。(5, 6, 1,2, 3, 4) def demo(lst, k): if k 25 and subject=電子信息工程)or (college=重點and subject=電子信息工程)or (agerev(I love yoi返回值為you love I def r
10、ev1(s): s=s.split() s1= .join(reversed(s) return s1 19. 閱讀程序,打印結(jié)果是 1000 def add In terest(bala nce,rate): n ewBala nce=bala nce*(1+rate) bala nce=n ewBala nee def main(): amou nt=1000 rate=0.05 addI nterest(am oun t,rate) prin t (am ount) main () 20. 閱讀程序,打印結(jié)果是 def demo( newitem,oldist=): old_list.a
11、ppe nd(n ewitem) return oldist def main(): print(demo( a) print(demo( b) main () 答案:a a, b 21. 閱讀程序,打印結(jié)果是 def fun c5(a, b, *c): prin t(a,b) print(length of c is %d, c is %len(c),c) fun c5(1,2,3,4,5,6) 答案:1 2 len gth of c is 4,c is (3, 4, 5, 6) 22. 閱讀程序,打印結(jié)果是(2.5, 3, 4) def demo(*para): avg = sum(par
12、a)/le n( para) g = i for i in para if iavg return (avg,)+tuple(g) prin t(demo(1,2,3,4) 23. 閱讀程序,打印結(jié)果是 def f(w=1,h=2): prin t(w,h) f() f(w=3) f(h=7) f(a=3) 答案: 1 2 3 2 1 7 錯誤 24閱讀程序,打印結(jié)果是 def sort(nu mberl, nu mber2): if nu mber1n: m, n = n, m p = m*n while m!=0: r = n%m n = m m = r return (n,p/n) pr
13、int( demo(20, 30) 三、程序填空題 1. 下面代碼的功能是,隨機生成50個介于1,20之間的整數(shù),然后統(tǒng)計每個整數(shù)出現(xiàn)頻率。請把 缺少的代碼補全。 import ran dom x = random.(1,20) for i in range() r = dict() for i in x: ri = r.get(i,)+1 for k, v in r.items(): prin t(k, v) 答: 分別填寫randint、50、0 2. 生成包含1000個隨機字符的字符串,然后統(tǒng)計前20個高頻字符,最后以15個位左對齊輸出高 頻字符,以5個位右對齊輸出個數(shù)。請把缺少的代碼補
14、全。 import random x = stri ng.ascii_letters + stri ng.digits + stri ng.p un ctuati on y = for i in ran ge(1000) d = dict() for ch in y : dch = d.get(ch, 0) + 1 items=list(d.items() items.sort(,reverse=True) for i in range(20): word,co unt = itemsi print(%(word,co un t) 答案:import string、 random.choice
15、(x) 、key= lambda x:x1、“-15s%5d” 3. 用戶輸入5,打印如右圖字符金字塔圖形,請補全代碼: n=input(輸入行數(shù):) for i in ran ge(1, n+1): print( ,end= ) for j in ran ge(1,2*i): I print( len(w) ; item_width -4; len(char) 10. 輸出右邊圖形,請補充程序: 1 1, 1 1, 2, 1 1,3, 3, 1 1,4, 6, 4, 1 1,5, 10, 10, 5, 1 1,6, 15, 20, 15, 6, 1 1, 7, 21,35, 35, 21,
16、7, 1 1,8, 28, 56, 70, 56, 28, 8, 1 1,9, 36, 84, 126, 126, 84, 36, 9, 1 def demo(t): prin t(1) line = 1,1 for i in ran ge(2,t): for j in range(0,len(line) -1): r.append() li ne = 1+r+1 prin t(l ine) demo() 答案:print(1,1),r = ,linej+linej+1 ,10 四、編程題 1. 編寫程序,在 D盤根目錄下創(chuàng)建一個文本文件test.txt,并向其中寫入字符串hello worl
17、d。 答: fp = open(r D:test.txt , a+) print( hello world , file=fp) fp.close() 2. 編寫程序,生成一個包含 20個隨機整數(shù)的列表,然后對其中偶數(shù)下標的元素進行降序排列,奇 數(shù)下標的元素不變。(提示:使用切片。) 答: import ran dom x = ran dom.ra ndin t(0,100) for i in ran ge(20) prin t(x) y = x:2 y.sort(reverse=True) x:2 = y prin t(x) 3. 編寫函數(shù),判斷一個數(shù)字是否為素數(shù),是則返回字符串YES,否則
18、返回字符串NO。再編寫測 試函數(shù)。 答: import math def IsPrime(v): n = in t(math.sqrt(v)+1) for i in ran ge(2, n): if v%i=0: return No else: return Yes prin t(lsPrime(77) 4. 編寫函數(shù),模擬Python內(nèi)置函數(shù)sorted(lst)。 答: def sorted(v): t = v: r = while t: tt = mi n(t) r.appe nd(tt) t.remove(tt) return r prin t(sorted(1,3,2,4) 5. 編
19、寫程序,生成包含20個隨機數(shù)的列表,然后將前10個元素升序排列,后10個元素降序排列, 并輸出結(jié)果。 答: import ran dom x = ran dom.ra ndin t(0,100) for i in ran ge(20) prin t(x) y = x0:10 y.sort() x0:10 = y y = x10:20 y.sort(reverse=True) x10:20 = y x y x0 0 0=x5 x 5=x10 3x-5 10=x20 0.5x-2 20=x 0 prin t(x) 6. 編寫程序,運行后用戶輸入4位整數(shù)作為年份,判斷其是 否為閏年。如果年份能被40
20、0整除,則為閏年;如果年份 能被4整除但不能被100整除也為閏年。 答: x = in put(Please in put an in teger of 4 digits meaning the year:) x = eval(x) if x%400=0 or (x%4=0 and not x%100=0): prin t(Yes) else: prin t(No) 7. 編寫程序,實現(xiàn)分段函數(shù)計算,如下表所示。 答: x = in put(Please in put x:) x = eval(x) if x=20: prin t(0) elif 0=x5: prin t(x) elif 5=
21、x10: print(3*x -5) elif 10=x20: print(0.5*x -2) 8. 已知有一個包含一些同學成績的字典,計算成績的最高分、最低分、平均分,并查找最高分同 學,最后打印最高分、最低分、平均分、最高分同學。 scores = Zha ng San: 45, Li Si: 78, Wa ng Wu: 40, Zhou Liu: 96, Zhao Qi: 65, Sun Ba: 90, Zhe ng Jiu: 78, Wu Shi: 99, Dong Shiyi: 60 highest = max(scores.values() lowest = min( scores
22、.values() average = sum(scores.values()/le n( scores) highestPers on = n ame for n ame, score in scores.items() if / score = highest # 分行 prin t(highest,lowest,average,highestPers on) 9. 統(tǒng)計不及格的學生及成績,要求:給定一些學生姓名和成績;詢問用戶是否還需要輸入更多的 學生姓名和成績,用戶回答是就繼續(xù)輸入,繼續(xù)詢問;打印所有補考學生名單和成績。 d=張三,76,李四,45,王五,83,鄭六,66,a,54,c
23、,68,b,89 s1= input(輸入數(shù)據(jù) Y or N:).strip()#去掉前后空格 while s1 = Y: s2=in put(請輸入學生及成績(空格隔開) ) n ame,grade=s2.split() d.appe nd( name,grade) #d name=i nt(grade) s仁input(” 繼續(xù)輸入 Y or N:).strip() else: prin t(d) print(不及格的名單:) for n ame,grade in d: if float(grade) 60: print(姓名:,name,t,成績:,grade) 10. 由用戶一個一個輸入一個數(shù)值型列表,然后將每個元素逐一打印。 lst= n=eval(input(請輸入數(shù)字個數(shù):”) for i in ran ge( n): number=eval(input(請輸入數(shù)字:”) lst.appe nd(nu mber
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南郴州市中考生物真題試題(含解析)
- 2024年公司貸款協(xié)議模板
- 2024年高效打井降水工程承包協(xié)議
- 2024年供應商商業(yè)機密保護協(xié)議模板
- 2024年食用油批發(fā)銷售協(xié)議模板
- 2024建筑工程協(xié)議爭議處理辦法
- 2024醫(yī)療機構(gòu)食堂服務承包協(xié)議
- 2024年專業(yè)水暖工勞務協(xié)議模板
- 2024年一次性口罩生產(chǎn)合作協(xié)議模板
- 2024年有償借款協(xié)議范本
- 北京市道德與法治初一上學期期中試卷及答案指導(2024年)
- 高校實驗室安全基礎學習通超星期末考試答案章節(jié)答案2024年
- 四川省綿陽市高中2025屆高三一診考試物理試卷含解析
- 油菜品種田間記載項目與標準
- 渣土車輛駕駛員管理制度
- 德力西系列變頻器說明書
- 后疫情時代探索家校共育新模式維護學生心理健康
- 小學美術(shù)11-身邊的伙伴ppt課件
- 鐵合金生產(chǎn)工藝
- 焦化廠生產(chǎn)工序及工藝流程圖
- 汽車排放控制系統(tǒng)的檢修
評論
0/150
提交評論