




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Python练习题库 By 郑红波 2017-12-19 一、 填空题 1. Python标准库math中用来计算平方根的函数是 。( sqrt) 2. 在Python中表示空类型。(None) 3. 列表、元组、字符串是Python的(有序?无序)序列。(有序) 4. 查看变量类型的Python内置函数是 。 ( type() 5. 查看变量内存地址的Python内置函数是 。 ( id() 6. 表达式1,2, 3*3 的执行结果为 。( 1,2, 3, 1,2, 3, 1,2, 3) 7. list(map(str, 1,2, 3)的执行结果为 。( 1,) , 3 8. 已知x = 3
2、,并且id(x)的返回值为 496103280,那么执行语句x += 6之后,表达式id(x)= 496103280 的值为。( False) 9. 已知x = 3,那么执行语句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个数字5的列表,语句可以写为 。(5 for i in range(10) 13. 假设有列表 a =
3、 name, age, sex和b = Dong, 38, Male,请使用一个语句将这两个列表的内 容转换为字典,并且以列表a中的元素为“键”,以列表b中的元素为“值”,这个语句可以写 为。( c = dict(zip(a, b) 14. 任意长度的Python列表、元组和字符串中最后一个元素的下标为 。(-1) 15. Python 语句.join(list(hello world!) 执行的结果是 。 (hello world!) 16. 转义字符的含义是。(回车换行) 17. Python 语句 list(range(1,10,3)执行结果为 。(1,4, 7) 18. 切片操作 li
4、st(range(6):2执行结果为 。(0, 2, 4) 19. 表达式ab in acbed的值为。 (False) 20. Python 3.x 语句 print(1,2, 3, sep=:)的输出结果为 。(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,)执行后x的值为。(3,) 27. 语句x = (3)执行后x的值为。(3) 28. 已知x = 1:2,那么执行语句x2 = 3之后,x的值为。(1: 2, 2: 3) 29. 字典对象的 方法返回字典中的“键-值对”列表。(items() 30. 使用列表推导式得到100以内所有能被13整除的数的代码可以写作 。(i for i in range(100) if i%13=0) 31. 表达式3 * 2的值为。(9) 32. 表达式 3 * 2的值为。( 6) 33. 已知 x = 3, 5,
6、7,那么执行语句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,执行语句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. 写出下面代码的运行结果。 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. 写出下列程序输出结果 i=1 while i+1: if i4: prin t(%d%i) i+=1 break prin t(%d%i) i+=1 i+=1 5. 写出下面代码的运行结果。 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. 下面程序的执行结果是 。 (1) s = 0 for i in ran ge(1,101): s += i else: prin t(1) 7. 下面程序的执行结果是 。
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. 阅读下面的代码,输出结果为 。 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) 答:输出由英文字母大小写或数字组成的长度为10且不重复的随机字符串。 10. 下面的代码输出结果为 。( 3) def demo(): x = 5 x = 3 demo() prin t(x) 11. 下面程序运行的结果为 。(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. 阅读程序,打印结果是 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. 阅读程序,打印结果是 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. 阅读程序,打印结果是 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. 阅读程序,打印结果是(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. 阅读程序,打印结果是 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阅读程序,打印结果是 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之间的整数,然后统计每个整数出现频率。请把 缺少的代码补全。 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个随机字符的字符串,然后统计前20个高频字符,最后以15个位左对齐输出高 频字符,以5个位右对齐输出个数。请把缺少的代码补
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(输入行数:) 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盘根目录下创建一个文本文件test.txt,并向其中写入字符串hello worl
17、d。 答: fp = open(r D:test.txt , a+) print( hello world , file=fp) fp.close() 2. 编写程序,生成一个包含 20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇 数下标的元素不变。(提示:使用切片。) 答: 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. 编写函数,判断一个数字是否为素数,是则返回字符串YES,否则
18、返回字符串NO。再编写测 试函数。 答: 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. 编写函数,模拟Python内置函数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个随机数的列表,然后将前10个元素升序排列,后10个元素降序排列, 并输出结果。 答: 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位整数作为年份,判断其是 否为闰年。如果年份能被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. 编写程序,实现分段函数计算,如下表所示。 答: 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. 统计不及格的学生及成绩,要求:给定一些学生姓名和成绩;询问用户是否还需要输入更多的 学生姓名和成绩,用户回答是就继续输入,继续询问;打印所有补考学生名单和成绩。 d=张三,76,李四,45,王五,83,郑六,66,a,54,c
23、,68,b,89 s1= input(输入数据 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(” 继续输入 Y or N:).strip() else: prin t(d) print(不及格的名单:) for n ame,grade in d: if float(grade) 60: print(姓名:,name,t,成绩:,grade) 10. 由用户一个一个输入一个数值型列表,然后将每个元素逐一打印。 lst= n=eval(input(请输入数字个数:”) for i in ran ge( n): number=eval(input(请输入数字:”) lst.appe nd(nu mber
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二年级上册数学教案-练习七-北师大版
- 六年级上册数学教案-3.1 倒-数 |西师大版
- 六年级下册数学教案-4.1扇形统计图的认识 ︳西师大版
- 三年级上册数学教案-解决问题第一课时|苏教版
- 六年级上册数学教案 -2.1 分数混合运算|北师大版
- 融资担保培训协议书(2篇)
- 北师大版数学三年级上册单元测试卷-第三单元-加与减(含答案)
- 2024年血压调节用品项目资金筹措计划书代可行性研究报告
- 2025年度两人共同投资可再生能源项目的股份合作合同
- 2025年度合伙人退出与合作伙伴关系维护协议
- 生涯规划与就业创业全套课件电子教案板
- 湘少版六年级英语下册《全册课件》
- 2024-2030年中国护眼台灯行业市场发展趋势与前景展望战略分析报告
- 《土壤肥料学通论》课程教学大纲
- 第十四届全国交通运输行业职业技能竞赛(公路收费及监控员)赛项题库-下(多选题-共3部分-2)
- 集合功能的测定(双眼视检查)
- 2024年农村自建房装修合同
- 2024年《高等教育心理学》考前辅导必背习题库(300题)
- 2024年江苏农牧科技职业学院单招职业适应性测试题库完美版
- 2024年广西职业院校技能大赛中职组《智慧物流作业》模块MC竞赛样题
- 人事专员简历模板
评论
0/150
提交评论