综合检测卷《python程序编写入门》(高教版)(二)

2025-04-10
| 2份
| 13页
| 107人阅读
| 0人下载

内容正文:

《Python 程序编写入门》高等教育出版社 综合检测卷2 时间:90分钟 总分:100分 班级___________ 姓名___________ 学号___________ 成绩_____________ 一、选择题(本大题共10小题,每小题2分,共20分) 1.程序的灵魂是( )。 A. 算法 B. 语法 C. 语句块 D. 开发平台 2.Python 中的三种基本控制结构不包括( )。 A. 顺序结构 B. 选择结构 C. 执行结构 D. 循环结构 3.print(9&-3) 的运行结果为( )。 A. 1 B. 0 C. 9 D. -3 4.import math; print(math.floor(11.5)) 的运行结果为( )。 A. 11 B. 11.0 C. 12 D. 12.0 5.import math; print(math.ceil(-10.5)) 的运行结果为( )。 A. -11 B. -10 C. 10 D. 11 6.dic={'name':'张三','age':18};dic.update({'age':19});print(dic)的运行结果( )。 A. {'age': 19} B. {'name': '张三} C. {'name': '张三', 'age': 18} D. {'name': '张三', 'age': 19} 7.print(max((1,100,0,-89,7,3))) 的运行结果为( )。 A. 100 B. -89 C. 7 D. 0 8.A=[1,2,-909]; B=A; B.clear(); print(A) 的运行结果为( )。 A. [] B. 1 C. 2 D. -909 9.print("woaixuexipython"[12:2:-2])的运行结果为( )。 A. "hyie" B. "yiex" C. "hyiex" D. "hyiexa" 10.若 datetime.________(2022,12,1) 语句的含义是设置日期为 2022 年 12 月 1 日,则横线处应该填( )。 A. time B. date C. datetime D. timedelta 二、填空题(本大题共10小题,每小题2分,共20分) 11.print("{:5^7}".format("12345")) 的运行结果为 _________。 12.a=[8,3,2]; a.extend([1,0]); print(a) 的运行结果为 _________。 13.st="abcdef"; print(st.index('b',2)) 的运行结果为 _________。 14.h1="1212131"; print(h1.find("2",2)) 的运行结果为 _________。 15.w1="abcdefghi"; print(w1.partition("de")) 的运行结果为 _________。 16.import math; print(math.sqrt(4)) 的运行结果为 _________。 17.print(9+2*2*3/4>12 or 8) 的运行结果为 _________。 18.在 tkinter 的布局方式中,_________方式是最精准的。 19.在鼠标事件中,与 Leave 事件作用相反的是 _________事件。 20.Checkbutton 复选框用来选取我们需要的选项,它前面有个小正方形的方块,如果选中则有一个 _________号。(填中文) 三、程序分析题(本大题共3小题,每小题6分,共18分) 21.阅读程序,写出程序的运行结果为________。 for i in range(10,1,-2): if i%3!=0: i=i-1 i=i-2 print(i,end=' ') 22.阅读程序,写出程序的运行结果为________。 x=True y=0 while x: y=y+1 if y//5==y/5: print(y,end=' ') else: continue if y>15: x=False 23.阅读程序,写出程序的运行结果为________。 s=i=j=1 while i<=5: s=s+i+j j=5 while j>i: s=s+i+j j=j-2 i=i+2 print('s=',s) 四、程序设计题(本大题共3小题 共42分) 24. 编写程序,使用 math 模块,实现输入圆的半径,输出显示圆的面积。(近似结果保留两位小数)(8分) 25. 编写程序,输入几位学生的语文成绩,当输入-1时,将停止输入学生的语文成绩并输出显示这几位学生的语文平均成绩。(10分) 26.编写程序,输出显示如图所示的图形。(注:图形的大小、间距、颜色不作硬性要求)(12分) 5 4 3 2 1 4 3 2 1 5 3 2 1 5 4 2 1 5 4 3 1 5 4 3 2 27.编写程序,要求输出显示二元一次方程 8x+5y=100 的正整数解。(12分) 学科网(北京)股份有限公司 $$ 《Python 程序编写入门》高等教育出版社 综合检测卷2 时间:90分钟 总分:100分 班级___________ 姓名___________ 学号___________ 成绩_____________ 一、选择题(本大题共10小题,每小题2分,共20分) 1.程序的灵魂是( )。 A. 算法 B. 语法 C. 语句块 D. 开发平台 【答案】A 【解析】程序的灵魂是算法,算法是解决问题的步骤和逻辑。 2.Python 中的三种基本控制结构不包括( )。 A. 顺序结构 B. 选择结构 C. 执行结构 D. 循环结构 【答案】C 【解析】Python 的三种基本控制结构是顺序结构、选择结构和循环结构,不包括“执行结构”。 3.print(9&-3) 的运行结果为( )。 A. 1 B. 0 C. 9 D. -3 【答案】C 【解析】9 & -3 是按位与运算。9 的二进制是 1001,-3 的二进制是 ...11111101(补码),按位与结果为 1001,即 9。 4.import math; print(math.floor(11.5)) 的运行结果为( )。 A. 11 B. 11.0 C. 12 D. 12.0 【答案】A 【解析】math.floor(11.5) 返回不大于 11.5 的最大整数,即 11。 5.import math; print(math.ceil(-10.5)) 的运行结果为( )。 A. -11 B. -10 C. 10 D. 11 【答案】B 【解析】math.ceil(-10.5) 返回不小于 -10.5 的最小整数,即 -10。 6.dic={'name':'张三','age':18};dic.update({'age':19});print(dic)的运行结果( )。 A. {'age': 19} B. {'name': '张三} C. {'name': '张三', 'age': 18} D. {'name': '张三', 'age': 19} 【答案】D 【解析】ic.update({'age': 19}) 修改字典中的 age 值为 19,结果为 {'name': '张三', 'age': 19}。 7.print(max((1,100,0,-89,7,3))) 的运行结果为( )。 A. 100 B. -89 C. 7 D. 0 【答案】A 【解析】max() 函数返回最大值,结果为 100。 8.A=[1,2,-909]; B=A; B.clear(); print(A) 的运行结果为( )。 A. [] B. 1 C. 2 D. -909 【答案】A 【解析】B = A 是引用传递,B.clear() 会清空 A,所以 print(A) 输出 []。 9.print("woaixuexipython"[12:2:-2])的运行结果为( )。 A. "hyie" B. "yiex" C. "hyiex" D. "hyiexa" 【答案】C 【解析】字符串切片 [::-2] 表示从后向前每隔一个字符取值,结果为 "hyiex"。 10.若 datetime.________(2022,12,1) 语句的含义是设置日期为 2022 年 12 月 1 日,则横线处应该填( )。 A. time B. date C. datetime D. timedelta 【答案】B 【解析】datetime.date(year, month, day) 用于设置日期。 二、填空题(本大题共10小题,每小题2分,共20分) 11.print("{:5^7}".format("12345")) 的运行结果为 _________。 【答案】"5123455" 【解析】{:5^7} 表示将字符串 "12345" 居中填充,总长度为 7,填充字符为 5,结果为 5123455。 12.a=[8,3,2]; a.extend([1,0]); print(a) 的运行结果为 _________。 【答案】[8, 3, 2, 1, 0] 【解析】a.extend([1, 0]) 将列表 [1, 0] 添加到 a 中。 13.st="abcdef"; print(st.index('b',2)) 的运行结果为 _________。 【答案】报错 【解析】st.index('b', 2) 从索引 2 开始查找字符 'b',找不到会报错。 14.h1="1212131"; print(h1.find("2",2)) 的运行结果为 _________。 【答案】3 【解析】h1.find("2", 2) 从索引 2 开始查找字符 "2",返回第一个匹配的索引 3。 15.w1="abcdefghi"; print(w1.partition("de")) 的运行结果为 _________。 【答案】('abc', 'de', 'fghi') 【解析】partition() 方法将字符串分割为三部分,返回元组。 16.import math; print(math.sqrt(4)) 的运行结果为 _________。 【答案】2.0 【解析】math.sqrt(4) 返回平方根 2.0。 17.print(9+2*2*3/4>12 or 8) 的运行结果为 _________。 【答案】8 【解析】9+2*2*3/4 > 12 计算为 9 + 3 = 12,12 > 12 为 False,or 8 返回 8。 18.在 tkinter 的布局方式中,_________方式是最精准的。 【答案】place 【解析】place 布局方式在 tkinter 中是最精准的。 19.在鼠标事件中,与 Leave 事件作用相反的是 _________事件。 【答案】Enter 【解析】Leave 事件的相反事件是 Enter。 20.Checkbutton 复选框用来选取我们需要的选项,它前面有个小正方形的方块,如果选中则有一个 _________号。(填中文) 【答案】对 【解析】Checkbutton 选中时显示“对”号。 三、程序分析题(本大题共3小题,每小题6分,共18分) 21.阅读程序,写出程序的运行结果为________。 for i in range(10,1,-2): if i%3!=0: i=i-1 i=i-2 print(i,end=' ') 【答案】7 5 4 1 -1 【解析】 · 循环从 10 到 1,步长为 -2。 · 每次循环中,i 先减 1(如果 i%3 != 0),再减 2,最后打印结果。 22.阅读程序,写出程序的运行结果为________。 x=True y=0 while x: y=y+1 if y//5==y/5: print(y,end=' ') else: continue if y>15: x=False 【答案】5 10 15 20 【解析】 · 循环中 y 每次加 1,当 y 是 5 的倍数时打印 y。 · 当 y > 15 时退出循环。 23.阅读程序,写出程序的运行结果为________。 s=i=j=1 while i<=5: s=s+i+j j=5 while j>i: s=s+i+j j=j-2 i=i+2 print('s=',s) 【答案】s= 33 【解析】 · 外层循环控制 i 从 1 到 5,每次累加 i + j 到 s。 · 内层循环 j 从 5 递减到 i,每次累加 i + j。 四、程序设计题(本大题共3小题 共42分) 24. 编写程序,使用 math 模块,实现输入圆的半径,输出显示圆的面积。(近似结果保留两位小数)(8分) 【答案】 import math PI=math.pi r = float(input("请输入圆的半径:")) s = PI*r**2 print("圆的面积:%.2f"%s) 【解析】 1.使用 math 模块中的 pi 常量获取圆周率的值。 2.通过 input 函数获取用户输入的半径,并将其转换为浮点数。 3.计算圆的面积公式:s = PI * r ** 2。 4.使用 print 函数输出结果,并通过 %.2f 格式化保留两位小数。 25. 编写程序,输入几位学生的语文成绩,当输入-1时,将停止输入学生的语文成绩并输出显示这几位学生的语文平均成绩。(10分) 【答案】 score=0 count=0 while True: s = eval(input("请输入语文成绩:")) if s==-1: break score+=s count+=1 print(f"{count}位学生的语文平均成绩{score/count}") 【解析】 1.初始化变量 score 和 count 分别用于累加成绩和统计学生人数。 2.使用 while True 循环不断读取用户输入的成绩。 3.如果输入的成绩为 -1,则通过 break 退出循环。 4.如果输入的成绩不是 -1,则将其累加到 score 中,并将 count 加 1。 5.最后,输出学生的总人数和平均成绩。 26.编写程序,输出显示如图所示的图形。(注:图形的大小、间距、颜色不作硬性要求)(12分) 5 4 3 2 1 4 3 2 1 5 3 2 1 5 4 2 1 5 4 3 1 5 4 3 2 【答案】 for i in range(5,0,-1): for j in range(i,0,-1): print(j,end=' ') for k in range(5,i,-1): print(k,end=' ') print() 【解析】 1.外层循环 for i in range(5, 0, -1) 控制行数,从 5 开始递减到 1。 2.内层循环 for j in range(i, 0, -1) 从当前行的值 i 开始递减到 1,输出数字。 3.第二个内层循环 for k in range(5, i, -1) 从 5 开始递减到 i+1,输出数字。 4.每次外层循环结束后,通过 print() 换行。 27.编写程序,要求输出显示二元一次方程 8x+5y=100 的正整数解。(12分) 【答案】 for x in range(1, 100): for y in range(1, 100): if 8 * x + 5 * y == 100: print(f"x={x}, y={y}") 【解析】 1.使用两层嵌套循环分别遍历 x 和 y 的可能值。 2.外层循环 for x in range(1, 100) 遍历 x 的值,从 1 到 99。 3.内层循环 for y in range(1, 100) 遍历 y 的值,从 1 到 99。 4.检查条件 8 * x + 5 * y == 100,如果满足条件,则输出 x 和 y 的值。 学科网(北京)股份有限公司 $$

资源预览图

综合检测卷《python程序编写入门》(高教版)(二)
1
综合检测卷《python程序编写入门》(高教版)(二)
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。