第41卷 面向对象程序设计(1)安徽省分类招生和对口招生考试-电子与信息大类《计算机编程基础—Python语言双析卷》

2026-04-28
| 2份
| 14页
| 35人阅读
| 0人下载

内容正文:

编写说明:安徽省普通高校对口招生专业理论和技能测试考试电子与信息大类《计算机编程基础—Python 语言考点双析卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷。助力师生构建 “讲练结合” 的学习闭环,适用于高考复习教学。 本专辑第41、第42卷精准对标安徽省考纲,知识模块(四)面向对象程序设计基础: 1. 基本概念 2. Tkinter库 3. 面向对象程序设计 安徽省分类招生和对口招生考试 电子与信息大类 《计算机编程基础—Python 语言》考点双析卷 第41卷 面向对象程序设计(1) 老师讲解卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共10小题,每题3分,共30分) 1.在 wxPython 程序的基本结构中,app.MainLoop() 的作用是(   ) A.创建应用程序实例 B.进入主事件处理循环 C.显示窗口 D.设置窗口标题 【答案】B 2.下列关于 wx.Panel 的描述中,正确的是(   ) A.wx.Panel 是顶层窗口,不能容纳其他组件 B.wx.Panel 可以直接放入顶层窗口 wx.Frame 中解决布局问题 C.wx.Panel 不属于组件,不能容纳其他组件 D.wx.Panel 通过 sizer 进行布局管理 【答案】D 3.ListCtrl 组件显示数据时,数据来源是(   ) A.从 CSV 文件读取 B.硬编码在程序中的列表 C.从数据库查询 D.通过网络API获取 【答案】A 4.在OnSearch方法中,如果找不到匹配的项,程序会执行 操作。(   ) A.自动添加新项到列表中 B.清空搜索文本框 C.选中列表的第一项 D.显示"not found"提示信息 【答案】D 5.当用户双击列表项时,通过 方法获取被双击项的文本内容。(   ) A.event.GetItem() B.event.GetValue() C.event.GetText() D.event.GetString() 【答案】C 6.在wxPython中,将按钮点击事件绑定到处理函数的正确方法是(   ) A.button.Bind(wx.EVT_BUTTON, self.OnPrint) B.self.Bind(wx.EVT_BUTTON, self.OnPrint, button) C.panel.Bind(wx.EVT_CLICK, self.OnPrint, button) D.app.Bind(wx.EVT_BUTTON, self.OnPrint, button) 【答案】B 7.下面关于运算符重载的描述,正确的是(   ) A.通过定义普通方法实现 B.使用@operator装饰器 C.重写双下划线方法如__add__ D.只能在父类中实现 【答案】C 8.在类方法中,参数self的作用是(   ) A.引用父类对象 B.引用类自身 C.引用当前实例对象 D.引用模块对象 【答案】C 9.在子类中显式调用父类方法的方式是(   ) A.ParentClass.method(self) B.super().method() C.self.parent_method() D.A和B均可 【答案】D 10.在Python中,类与对象的关系描述正确的是(   ) A.类是实例的具体化 B.对象是类的模板 C.类是模板,对象是具体值 D.对象是类的抽象 【答案】B 二、填空题(本大题共5小题,每题4分,共20分) 11.使用_________关键字可创建自定义类。 【答案】class 【详解】使用class关键字定义类。 12.Python 中 GUI 设计时,必须导入________库。 【答案】tkinter 【详解】Python 中 GUI 设计时,必须导入 tkinter 库。 13.封装、 ___________和多态被称为面向对象技术中的三大机制。 【答案】继承 【详解】面向对象的三大机制是封装、继承和多态。 14.类的__________用于描述对象的状态和特征,__________用于实现对象的行为和操作。 【答案】 属性 方法 15.创建类A(没有参数)之后,通过类创建一个实例对象B的方法为__________。 【答案】B=A( ) 三、综合应用题(本大题共5小题,每题10分,共50分) 16.如图所示:窗口大小为300*300像素,三个标签和三个单行文本输入框。单击"转换"按钮,则在第三个单行文本输入框中得到对应的进制转换数。    【答案】from tkinter import * root=Tk() root.title('进制转换') root.geometry('300x200') def zh():     d,r = eval(e1.get()),eval(e2.get())     lst1=[]     lst2=[str(i) for i in range(10)] + ['A','B','C','D','E','F']     while d!=0:         d,ys=divmod(d,r)         lst1.append(lst2[ys])     lst1.reverse()     e3.delete(0,'end')     e3.insert(0,''.join(lst1)) Label(root,text="请输入一个十进制正整数:").pack() e1=Entry(root) e1.pack() Label(root,text="请输入进制(2、8、16进制):").pack() e2=Entry(root) e2.pack() Label(root,text="转换后的结果为:").pack() e3=Entry(root) e3.pack() Button(root,text='转换',command=zh).pack() root.mainloop() 17.设计一个倒计时的功能,实现在单行文本框中输入秒数后,单击"开始"按钮,开始倒计时,单行文本框中的秒数值跟着变化,直至到0,自动退出窗口界面。设计界面如下图所示(界面元素的大小、位置等属性不作硬性要求)。    【答案】from tkinter import * root=Tk() root.title('倒计时') root.geometry('300x200') t=None flag=True def ks():     global t,flag     if flag:         t=eval(e.get())         flag=False     root.after(1000,ks)     e.delete(0,'end')     if t==-1:         root.quit()     e.insert(0,t)     t -= 1 Label(root,text='输入倒计时秒数:').pack() e=Entry(root) e.pack() Button(root,text='开始',command=ks).pack() root.mainloop() 18.输入三边,单击"判断"按钮,判断三边能否构成三角形,如果能构成三角形则显示三角形面积,结果保留两位小数,否则显示此三边不能构成三角形。若已知三角形的三条边长分别为a,b,c则计算面积公式如下图所示: 【答案】import tkinter import math r=tkinter.Tk() r.title("判断三角形") def f():     a,b,c=eval(txt1.get()),eval(txt2.get()),eval(txt3.get())     if a>0 and b>0 and c>0 and a+b>c and b+c>a and a+c>b:         p=(a+b+c)/2         s = math.sqrt(p*(p-a)*(p-b)*(p-c))         lab4.config(text=f"三角形面积为: %.2f"%s)     else:         lab4.config(text="此三边不能形成三角形") lab1=tkinter.Label(r,text="请输入第一条边:") lab1.grid(row=0,column=0) txt1=tkinter.Entry(r) txt1.grid(row=0,column=1) lab2=tkinter.Label(r,text="请输入第二条边:") lab2.grid(row=1,column=0) txt2=tkinter.Entry(r) txt2.grid(row=1,column=1) lab3=tkinter.Label(r,text="请输入第三条边:") lab3.grid(row=2,column=0) txt3=tkinter.Entry(r) txt3.grid(row=2,column=1) lab4=tkinter.Label(r,text="结果") lab4.grid(row=3,column=1) cmdl=tkinter.Button(r,text="判断",command=f) cmdl.grid(row=4,column=1) r.mainloop() 19.利用两个Listbox实现选择项的移动,左移和右移。初始界面如图1,先选中左框中的香蕉向右移为如图2,再选中右框中的榴莲左移为图3所示。              如图1                                  如图2 如图3 【答案】from tkinter import * root=Tk() root.title("喜欢吃的水果") root.geometry("300x200") LB = Listbox(root,width=17) LB.grid(row=0,column=0,rowspan=2) LB1 = Listbox(root,width=17) LB1.grid(row=0,column=2,rowspan=2) lst=["苹果","香蕉","橙子","火龙果"] for i in lst:     LB.insert('end',i) LB1.insert('end','榴莲') def rg():     LB1.insert('end',LB.get(ACTIVE))     LB.delete(ACTIVE) def lf():     LB.insert('end', LB1.get(ACTIVE))     LB1.delete(ACTIVE) Button(root,text=">",command=rg).grid(row=0,column=1) Button(root,text="<",command=lf).grid(row=1,column=1) root.mainloop() 20.设计一个窗口,添加适当的组件,实现如图所示功能,将信息输出到控制台。年龄计算公式为:当前年份-出生年份(当前年份2025年)。 【答案】from tkinter import * root=Tk() root.title("用户注册") root.geometry('300x200') def tj():     dic={1:"男",2:"女"}     age = 2025-eval(e2.get()[:4])     print("您的姓名:",e1.get())     print("您的性别:",dic[var.get()])     print("您的出生年月日:",e2.get())     print("您的年龄:",age) Label(root,text="姓名").grid(row=0,column=0) e1=Entry() e1.grid(row=0,column=1) Label(root,text="性别").grid(row=1,column=0) var=IntVar() Radiobutton(text="男",variable=var,value=1).grid(row=1,column=1) Radiobutton(text="女",variable=var,value=2).grid(row=1,column=2) Label(root,text="出生年月").grid(row=2,column=0) e2=Entry() e2.grid(row=2,column=1) Button(root,text="提交",command=tj).grid(row=3,column=1) root.mainloop() 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $ 编写说明:安徽省普通高校对口招生专业理论和技能测试考试电子与信息大类《计算机编程基础—Python 语言考点双析卷》,依据《安徽省普通高校对口招生专业理论和技能测试考试纲要》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷。助力师生构建 “讲练结合” 的学习闭环,适用于高考复习教学。 本专辑第41、第42卷精准对标安徽省考纲,知识模块(四)面向对象程序设计基础: 1. 基本概念 2. Tkinter库 3. 面向对象程序设计 安徽省分类招生和对口招生考试 电子与信息大类 《计算机编程基础—Python 语言》考点双析卷 第41卷 面向对象程序设计(1) 老师讲解卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共10小题,每题3分,共30分) 1.在 wxPython 程序的基本结构中,app.MainLoop() 的作用是(   ) A.创建应用程序实例 B.进入主事件处理循环 C.显示窗口 D.设置窗口标题 2.下列关于 wx.Panel 的描述中,正确的是(   ) A.wx.Panel 是顶层窗口,不能容纳其他组件 B.wx.Panel 可以直接放入顶层窗口 wx.Frame 中解决布局问题 C.wx.Panel 不属于组件,不能容纳其他组件 D.wx.Panel 通过 sizer 进行布局管理 3.ListCtrl 组件显示数据时,数据来源是(   ) A.从 CSV 文件读取 B.硬编码在程序中的列表 C.从数据库查询 D.通过网络API获取 4.在OnSearch方法中,如果找不到匹配的项,程序会执行 操作。(   ) A.自动添加新项到列表中 B.清空搜索文本框 C.选中列表的第一项 D.显示"not found"提示信息 5.当用户双击列表项时,通过 方法获取被双击项的文本内容。(   ) A.event.GetItem() B.event.GetValue() C.event.GetText() D.event.GetString() 6.在wxPython中,将按钮点击事件绑定到处理函数的正确方法是(   ) A.button.Bind(wx.EVT_BUTTON, self.OnPrint) B.self.Bind(wx.EVT_BUTTON, self.OnPrint, button) C.panel.Bind(wx.EVT_CLICK, self.OnPrint, button) D.app.Bind(wx.EVT_BUTTON, self.OnPrint, button) 7.下面关于运算符重载的描述,正确的是(   ) A.通过定义普通方法实现 B.使用@operator装饰器 C.重写双下划线方法如__add__ D.只能在父类中实现 8.在类方法中,参数self的作用是(   ) A.引用父类对象 B.引用类自身 C.引用当前实例对象 D.引用模块对象 9.在子类中显式调用父类方法的方式是(   ) A.ParentClass.method(self) B.super().method() C.self.parent_method() D.A和B均可 10.在Python中,类与对象的关系描述正确的是(   ) A.类是实例的具体化 B.对象是类的模板 C.类是模板,对象是具体值 D.对象是类的抽象 二、填空题(本大题共5小题,每题4分,共20分) 11.使用_________关键字可创建自定义类。 12.Python 中 GUI 设计时,必须导入________库。 13.封装、 ___________和多态被称为面向对象技术中的三大机制。 14.类的__________用于描述对象的状态和特征,__________用于实现对象的行为和操作。 15.创建类A(没有参数)之后,通过类创建一个实例对象B的方法为__________。 三、综合应用题(本大题共5小题,每题10分,共50分) 16.如图所示:窗口大小为300*300像素,三个标签和三个单行文本输入框。单击"转换"按钮,则在第三个单行文本输入框中得到对应的进制转换数。    17.设计一个倒计时的功能,实现在单行文本框中输入秒数后,单击"开始"按钮,开始倒计时,单行文本框中的秒数值跟着变化,直至到0,自动退出窗口界面。设计界面如下图所示(界面元素的大小、位置等属性不作硬性要求)。    18.输入三边,单击"判断"按钮,判断三边能否构成三角形,如果能构成三角形则显示三角形面积,结果保留两位小数,否则显示此三边不能构成三角形。若已知三角形的三条边长分别为a,b,c则计算面积公式如下图所示: 19.利用两个Listbox实现选择项的移动,左移和右移。初始界面如图1,先选中左框中的香蕉向右移为如图2,再选中右框中的榴莲左移为图3所示。              如图1                                  如图2 如图3 20.设计一个窗口,添加适当的组件,实现如图所示功能,将信息输出到控制台。年龄计算公式为:当前年份-出生年份(当前年份2025年)。 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $

资源预览图

第41卷 面向对象程序设计(1)安徽省分类招生和对口招生考试-电子与信息大类《计算机编程基础—Python语言双析卷》
1
第41卷 面向对象程序设计(1)安徽省分类招生和对口招生考试-电子与信息大类《计算机编程基础—Python语言双析卷》
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。