山东工商学院Python程序设计期末复习题及参考答案_第1页
山东工商学院Python程序设计期末复习题及参考答案_第2页
山东工商学院Python程序设计期末复习题及参考答案_第3页
山东工商学院Python程序设计期末复习题及参考答案_第4页
山东工商学院Python程序设计期末复习题及参考答案_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Python程序设计课程复习题及参考答案一单选题(共18题,总分值18分)1.关于Python中的复数,下列说法错误的是(1分)A.表示复数的语法形式是a+bjB.实部和虚部都必须是浮点数C.虚部必须加后缀j,且必须是小写D.函数abs()可以求复数的模2.下列属于math库中的数学函数的是(1分)time ()round()sqrt()random()cd2 ab超越高度与数学表达式对应的Python表达式中,不正确的是(1分)c*d/(2*a*b)c/2*d/a/bc*d/ 2*a*bc*d/2/a/bPython语句print (OxA+OxB)的输出结果是(1分)OxA+OxBA+BO

2、xAOxB21Python表达式中,可以使用()控制运算的优先顺序。(1分)A.圆括号0B.方括号口C.大括号D.尖括号Python程序文件的扩展名是(1分). python. pyt.pt.py以下叙述中正确的是(1分).答案:0. 5, 0, 2解析过程:三 判断题(共30题,总分值30分).答案:F解析过程:.答案:T解析过程:.答案:F解析过程:.答案:F解析过程:.答案:F解析过程:.答案:T解析过程:.超越高度答案:T解析过程:.答案:T解析过程:.答案:F解析过程:.答案:T解析过程:.答案:T解析过程:.答案:F解析过程:.答案:T解析过程:.答案:T解析过程:.答案:T解析过

3、程:.答案:F解析过程:.超越高度答案:F解析过程:.答案:F解析过程:.答案:F解析过程:.答案:T解析过程:.答案:F解析过程:.答案:F解析过程:.答案:F解析过程:.答案:T解析过程:.答案:T解析过程:.答案:F解析过程:.超越高度答案:T解析过程:.答案:F解析过程:.答案:T解析过程:.答案:F解析过程:四问答题(共18题,总分值18分).答案:答:Python 2. 7.8代码如下,import wxclass wxGUI(wx.App):def Onlnit(self):frame = wx.Frame(parent=None, title=,Login1, size=(25

4、0,150), pos=(350,350)panel = wx.Panel(frame, -1)labell = wx.StaticText(panel, -1, UserName:, pos=(0/10)/ style=wx.ALIGN_RIGHT)Iabel2 = wx.StaticText(panel, -1, Password:, pos=(0,30)/ style=wx.ALIGN_RIGHT)self.textName = wx.TextCtrl(panel, -1, pos=(70,10), size=(160,20) self.textPwd = wx.TextCtrl(pan

5、el, -1, pos=(70,30), size=(160,20),style=wx.TE_PASSWORD) buttonOK = wx.Button(panel, -1, OK, pos=(30,60)self.Bind(wx.EVT_BUTTON, self.OnButtonOK, buttonOK)buttonCancel = wx.Button(panel, -1, Cancel, pos=(120,60)self.Bind(wx.EVT_BUTTON, self.OnButtonCancel, buttonCancel)buttonOK.SetDefault()frame.Sho

6、w()return Truedef OnButtonOK(self, event):usrName = self.textName.GetValue()usrPwd = self.textPwd.GetValue()if usrName=二123456, and usrPwd=,6543211:wx.MessageBox(Right)else:wx.MessageBox(Wrong)def OnButtonCancel(self, event):passapp = wxGUI()app.MainLoop()解析过程:.答案:答:在Python中,以下划线开头的变量名有特殊的含义,尤其是在类的定

7、义中。用下划线作为变 量前缀和后缀来表示类的特殊成员:_xxx:这样的对象叫做保护变量,不能用from module import *导入,只有类对象和子类对象 能访问这些变量;XXX :系统定义的特殊成员名字;-XXX:类中的私有成员,只有类对象自己能访问,子类对象也不能访问到这个成员,但在对 象外部可以通过“对象名一类名_xxx这样的特殊方式来访问。Python中没有纯粹的C+意义上 的私有成员。解析过程:import ran domx = ran dom . randin t(0,100) for i in ran ge(20)pri nt (x)y = x0:10y. sort ()

8、x 0:10 = y y = x10:20 y.sort(reverse=True) x10:20 = y pri nt(x)import ran domx = ran dom . randin t(0,100) for i in ran ge(20)pri nt x59.答案:x0:10=y = x0:10 y. sort ()yy = x10:20y. sort(reverse=Irue)x10:20 = ypri nt x解析过程:. 答案: import urllib. request dir(urllib.request) fp = urllib.request. urlopen()

9、 dir(fp) print(fp.read(100) fp.close()解析过程:.答案:TCP 一般用于要求可靠数据传输的场合。编写TCP程序时经常需要用到的socket模块 方法主要有:connect(address):连接远程计算机send(bytes,flags):发送数据recv(bufsize,flags):接收数据bind(address):绑定地址listen(backlog):开始监听,等待客户端连接accept。:响应客户端的请求解析过程:.答案:答:(1)文本文件文本文件存储的是常规字符串,由若干文本行组成,通常每行以换行符结尾。常规字符串 是指记事本或其他文本编辑器

10、能正常显示、编辑并且人类能够直接阅读和理解的字符串,如 英文字母、汉字、数字字符串。文本文件可以使用字处理软件如gedit、记事本进行编辑。(2)二进制文件二进制文件把对象内容以字节串(bytes)进行存储,无法用记事本或其他普通字处理软件直接 进行编辑,通常也无法被人类直接阅读和理解,需要使用专门的软件进行解码后读取、显 示、修改或执行。常见的如图形图像文件、音视频文件、可执行文件、资源文件、各种数据 库文件、各类。ffice文档等都属于二进制文件。解析过程:Pythm采用的是基于值的内存管理方式,如果为不同变量赋值相同值,则在内存中只有一份该胤多个变量指向同一块 内存地此例如下面的代码。

11、X = 3id(x) y = 3id(y) y = 5id(y).超越高度答案:解析过程:.答案:Python支持字符串驻留机制,即:对于短字符串,将其赋值给多个不同的对象时,内 存中只有一个副本,多个对象共享该副本。这一点不适用于长字符串,即长字符串不遵守驻留机制, 下面的代码演示了短字符串和长字符串在这方面的区别。 a = 1234 b = 1234 id(a) = id(b)True a = 1234*50 b = 1234*50 id(a) = id(b)False解析过程:.答案: import os os.getcwd()CiWPythonBA os.chdirJrcAV) os.

12、getcwd()c:W os.chdir(rc:Python34) os.getcwd()c:Python34解析过程:.答案:答:首先使用ipconfig/all命令查看本机IP地址,然后分别编写下面的代码,并将其 中的IP地址替换为相应的IP地址。接收端代码:import sockets=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)s.bind(,H, 5000) #空字符串表示本机任何可用IP地址data, addr=s.recvfrom(1024) # 缓冲区大小为 1024 字节print received message:%s %

13、 data #显示接收到的内容s.close()发送端代码:import sockets=socket.socket(socket.AF_INETz socket.SOCK_DGRAM)s.sendto(Hello, world!, (,48, ,5000) #假设 48 是接收端主机的 IP 地址s.close()解析过程:.答案:当列表增加或删除元素时,列表对象自动进行内存扩展或收缩,从而保证元素之间没有 缝隙,但这涉及到列表元素的移动,效率较低,应尽量从列表尾部进行元素的增加与删除操作以提 高处理速度。解析过程:.答案:答:主要有三种,MapReduce:分布式计算框架,可以将单个大型计

14、算作业分配给多台计算机执行,可以在短 时间内完成大量工作,尤其适合数值型和标称型数据,但需要对行业领域具有一定理解后重 写算法来完成特定的业务处理要求。MapReduce的名字由函数式编程中常用的map和reduce 两个单词组成。MapReduce在大量节点组成的集群上运行,工作流程是:单个作业被分成很 多小份,输入数据也被切片并分发到每个节点,每个节点只在本地数据上做运算,对应的运 算代码称为mapper,这个过程即map阶段;每个mapper的输出通过某种方式组合,根据需 要可能再进行重新排序,排序后的结果再被切分成小份并分发到各个节点进行下一步处理, 这个过程被称为reduce阶段,对

15、应的代码称为reducer。不同类型的作业可能需要不同数量的 reducer,并且,在任何时候,每个mapper或reducer之间都不进行通信,每个节点只负责处 理自己的事务,并且只在分配到本地的数据集上进行运算。Hadoop: Hadoop是MapReduce框架的一个免费开源实现,采用Java语言编写,支持在大量机 器上分布式处理数据。除了分布式计算之外,Hadoop还自带分布式文件系统,可以在上面运行多种不同语言编写的分布式程序。Hadoop在可伸缩性、健壮性、计算性能和成本上具有无 可替代的优势,事实上已成为当前互联网企业主流的大数据分析平台。Spark: Spark是一个针对超大数

16、据集合的低延迟集群分布式计算系统,比MapReduce快40倍 左右。Spark是Hadoop的升级版本,兼容Hadoop的API,能够读写Hadoop的HDFS HBASE顺 序文件等,与之不同的是将结果保存在内存中。Hadoop作为第一代产品使用了 HDFS,第二 代加入了 Cache来保存中间计算结果,第三代则是Spark倡导的流技术Streaming。解析过程:.答案:答:主要有三种方式,1)在交互模式下使用pdb模块提供的功能可以直接调试语句块、表达式、函数等多种脚本。2)在程序中嵌入断点来实现调试功能在程序中首先导入pdb模块,然后使用pdb.set_trace()在需要的位置设置

17、断点。如果程序中存 在通过该方法调用显式插入的断点,那么在命令提示符环境下执行该程序或双击执行程序时 将自动打开pdb调试环境,即使该程序当前不处于调试状态。3)使用命令行调试程序在命令行提示符下执行python-m pdb脚本文件名,则直接进入调试环境;当调试结束或程 序正常结束以后,pdb将重启该程序。解析过程:.答案:答:Python 342 代码import sysimport osdirectory = sys.argvlfilename = sys.argv2paths = os.walk(directory)for root7dirs,files in paths:if file

18、name in files: print(Yes)breakelse:print(No)Python 278 代码import sysimport osdirectory = sys.argvlfilename = sys.argv2paths = os.walk(directory)for root,dirs,files in paths:if filename in files:print Yesbreakelse:printNo解析过程:.答案:TCP协议是面向连接的、具有质量保证的可靠传输协议,但开销较大;UDP协议是尽最 大能力传输的无连接协议,开销小,常用于视频在线点播(Video

19、 On Demand, V0D)之类的应用。 TCP协议和UDP协议并没有优劣之分,仅仅是适用场合有所不同。解析过程:.答案:答:核心代码为printprint Status: 200 OKprint Content-type: text/htmlprint print Python Sample CGI,Python 3.x 与 Python 2.x 兼容Python语句只能以程序方式执行Python是解释型语言Python语言出现得晚,具有其他高级语言的一切优点下列选项中,不属于Python特点的是(1分)A.面向对象.B.运行效率高C.可读性好D.开源Python语言属于(1分)A.机器

20、语言B.汇编语言C.高级语言D.科学计算语言Python 语句 print (rnGood)的运行结果是(1 分)A.新行和字符串Goodr”nGood”nGoodD.字符r、新行和字符串Good.整型变量x中存放了一个两位数,要将这个两位数的个位数字和十位数字交换位置,例如,13变成31,正确的Python表达式是()。(1分)(x%10) *10+x/10(x%10)/10+x/10(x/10)%10+x/10(x%10)*10+x%10.函数type(l+0 xf*3.超越高度14)的返回结果是(1分)class,str).超越高度字符串s二anbtc,,则len (s)的值是()。(1

21、分)765D.4.语句eval ( 2+4/5)执行后的输出结果是(1分)A. 2.8print print This is a headerprint Hello world!print print 解析过程:.超越高度答案:假设有表达式“表达式1 or表达式2,如果表达式1的值等价于True,那 么无论表达式2的值是什么,整个表达式的值总是等价于True。因此,不需要再计算表达式2的 值。解析过程:.答案:答:比较常用的形式有:1)标准异常处理结构try:try块#被监控的语句,可能会引发异常except Exception, reason:except块#处理异常的代码如果需要捕获所有异

22、常时,可以使用BaseException,代码格式如下:try: except BaseException, e:except块#处理所有错误上面的结构可以捕获所有异常,尽管这样做很安全,但是一般并不建议这样做。对于异常处 理结构,一般的建议是尽量显式捕捉可能会出现的异常并且有针对性地编写代码进行处理, 因为在实际应用开发中,很难使用同一段代码去处理所有类型的异常。当然,为了避免遗漏 没有得到处理的异常干扰程序的正常执行,在捕捉了所有可能想到的异常之后,您也可以使 用异常处理结构的最后一个except来捕捉BaseExceptiono2)另外一种常用的异常处理结构是try.exc即t.else

23、语句。3)在实际开发中,同一段代码可能会抛出多个异常,需要针对不同的异常类型进行相应的处 理。为了支持多个异常的捕捉和处理,Python提供了带有多个except的异常处理结构,这类 似于多分支选择结构,一旦某个except捕获了异常,则后面剩余的except子句将不会再执 行。语法为:try:try块#被监控的语句except Exceptionl:except块1 #处理异常1的语句except Exception?:except块2 #处理异常2的语句4)将要捕获的异常写在一个元组中,可以使用一个except语句捕获多个异常,并且共用同一 段异常处理代码,当然,除非确定要捕获的多个异常可

24、以使用同一段代码来处理,并不建议 这样做。5)最后一种常用的异常处理结构是tryexceptfinally结构。在该结构中,finally子句中的内 存无论是否发生异常都会执行,常用来做一些清理工作以释放try子句中申请的资源。语法如 下:try: finally:#无论如何都会执行的代码解析过程:2C.2+4/5D.2+4/5.下列表达式中,值不是1的是(1分)4/315%210D.1.下列标识符中合法的是(1分)A. imB._3Qfor. Python不支持的数据类型有(1分)A.charintfloatlist.下列选项中合法的标识符是(1分)_ 7a_bbreak_ a$b7ab二填

25、空题(共8题,总分值8分). 计算 2T 的Python 表达式是 (1 分). Python语句既可以采用交互式的 执行方式,又可以采用执行方式。(1分).数学表达式3 + V6 sin y 的Python表达式为 o (1分).设m, n为整型,则与成n等价的表达式为 (1分).超越高度使用math模块库中的函数时,必须要使用 语句导入该模块。(1分).在Python集成开发环境中,可使用快捷键 运行程序。(1分). Python 表达式 0 x66&0o66 的值为 (1 分). Python 表达式 1/2 的值为, 1/3+1/3+1/3 的值为。5%3 的值为(1分)三判断题(共3

26、0题,总分值30分). Python 3. x 完全兼容 Python 2.x。(1 分)().在Python中可以使用id作为变量名,尽管不建议这样做。(1分)().在Python 3. 5中运算符+不仅可以实现数值的相加、字符串连接,还可以实现列表、元组的合并和集合的并集运算。(1分)(). Python变量使用前必须先声明,并且一旦声明就不能再当前作用域内改变其类型。(1分)( ). 9999*9999这样的命令在Python中无法运行。(1分)(). Python不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义。(1分)().超越高度尽管可以使用impo

27、rt语句一次导入任意多个标准库或扩展库,但是仍建议每次只导入一个标准库或扩展库。(1分)() TOC o 1-5 h z .在Python中Oxad是合法的十六进制数字表示形式。(1分)(). Python代码的注释只有一-种方式,那就是使用#符号。(1分)(). Python是一种跨平台、开源、免费的高级动态编程语言。(1分)().不管输入什么,Python 3. x中input ()函数的返回值总是字符串。(1分)(). 3+4j不是合法的Python表达式。(1分)(). Python使用缩进来体现代码之间的逻辑关系。(1分)().在Python 3. x中可以使用中文作为变量名。(1分

28、)().加法运算符可以用来连接字符串并生成新字符串。(1分)( TOC o 1-5 h z .在Windows平台上编写的Python程序无法在Unix平台运行。(1分)().超越高度已知x=3,那么赋值语句x=abcedfg是无法正常执行的。(1分)().在任何时刻相同的值在内存中都只保留一份(1分)(). Python 3. x和Python 2. x唯一的区别就是:print在Python 2.x中是输出语句,而在Python 3.x中是输出函数。(1分)().执行语句from math import sin之后,可以直接使用sin()函数,例如sin(3)。(1分)( ).为了让代码更

29、加紧凑,编写Python程序时应尽量避免加入空格和空行。(1分)().只有Python扩展库才需要导入以后才能使用其中的对象,Python标准库不需要导入即可使用其中的所有对象和方法。(1分)().在Python中可以使用for作为变量名。(1分)(). Python关键字不可以作为变量名。(1分)(). 3+4j是合法Python数字类型。(1分)().在Python中可以使用if作为变量名。(1分)().超越高度pip命令也支持扩展名为.whl的文件直接安装Python扩展库。(1分)(). 0ol2f是合法的八进制数字。(1分)(). Python采用的是基于值得自动内存管理方式。(1分)().在Python中Ooal是合法的八进制数字表示形式。(1分)()四问答题(共18题,总分值18分)57,设计一个窗体,模拟QQ登录界面,当用户输入号码123456和密码654321时提示正确,否则 提示错误。(1分).简单解释Python中以下划线开头的变量名特点。(1分).编写程序,生成包含20个随机数的列表,然后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论