欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Python程序开发案例教程答案.docx

    • 资源ID:28275113       资源大小:256.51KB        全文页数:19页
    • 资源格式: DOCX        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Python程序开发案例教程答案.docx

    第1章 开启Python学习之旅一、 填空题1. 对象2. 可移植性二、 判断题1. 2. ×3. ×三、 选择题1. D2. B3. D4. B5. D四、 简答题1. 答:简单易学,免费开源,可移植性、面向对象、丰富的库。2. 答:(1) Python2使用print语句进行输出,Python3使用print()函数进行输出。(2) Python 2中字符串有默认ASCII编码的str类型和unicode类型。Python 3中默认使用UTF-8编码,以更好地实现对中文或其它非英文字符的支持。(3) 使用运算符“/”进行除法运算时,Python 2中整数相除的结果是一个整数,浮点数相除的结果是一个浮点数;Python 3中整数相除的结果也会得到浮点数。(4) 在Python 2中,所有类型的对象直接被抛出,在Python 3中,只有继承自BaseException的对象才可以被抛出。在Python 2中,捕获异常的语法是“except Exception, err”;在Python 3中,捕获异常的语法变更为“except Exception as err”。 在Python 2中,处理异常可以使用“raise Exception, args”或者“raise Exception(args)”两种语法;在Python 3中,处理异常只能使用“raise Exception(args)”。 Python 3取消了异常类的序列行为和message属性。第2章 数字类型与字符串一、 填空题1. 复数类型,布尔类型2. 整型3. 实部,虚部二、 判断题1. 2. ×3. ×4. ×三、 选择题1. D2. C3. A4. BD5. B四、 编程题1. 答案:print("I'm from China")2. 答案:string = ' python是一种解释型语言 'string = string.strip().capitalize()print(string)3. 答案:string = 'tsacti'print(string:-1)第3章 流程控制一、 填空题1. for,while2. if3. True二、 判断题1. ×2. 3. 4. ×三、 选择题1. B2. A3. C4. A5. B四、 编程题1. 答案:res = 0for i in range(101): res = res + iprint(res)2. 答案:i = 0while i < 100: if i % 2 = 0: print(i) i += 13. 答案:i = 2for i in range(2, 100): j = 2 for j in range(2, i): if(i % j = 0): break else: print(i)第4章 列表与元组一、 填空题1. list2. 切片3. tuple二、 判断题1. ×2. ×3. ×4. 三、 选择题1. A2. A3. C4. A5. C四、 编程题1.li_num1 = 4, 5, 2, 7li_num2 = 3, 6li_num1.extend(li_num2)li_num1.sort(reverse=True)print(li_num1)2.tu_num1 = ('p', 'y', 't', 'o', 'n')tu_num13.append('h')print(tu_num1)第5章 字典和集合一、 填空题1. 键 值2. 唯一3. keys()4. 元素5. 无序 元素不可重复二、 判断题1. 2. 3. ×4. ×三、 选择题1. A2. B3. B4. C5. B四、 编程题1.# 遍历字符串,使用字典记录各个字符及其出现的次数str = 'skdaskerkjsalkj'count = for i in str:if i in count.keys():counti += 1else:counti = 1print(count)2.li_one = 1,2,1,2,3,5,4,3,5,7,4,7,8li_one = list(set(li_one)print(li_one)第6章 函数一、 填空题1. def2. lambda3. global二、 判断题1. 2. 3. 4. ×5. 三、 选择题1. D2. C3. B4. C5. B四、 简答题1. 不需要使用函数名标识;语句只能是一个表达式,可实现的功能比较单一;不能被其它程序使用。2. 位置参数:实际参数按照位置顺序依次传递给形式参数。关键字参数:通过“形式参数=实际参数”的格式将实际参数与形式参数相关联,根据形参的名称进行参数传递。不定长参数:不定长参数分为*args和*kwargs两种,它们都接收不定数量的位置参数,其中*args接收的多个参数以元组形式保存,*kwargs接收的多个参数以字典形式保存。五、 编程题1.sum = 0for i in range(0,101):if i % 2 = 0:sum += iprint(sum)2.pro = 1for i in range(3,21):pro *= iprint(pro)第7章 面向对象程序设计一、 填空题1. class2. self3. super()4. 双下划线_二、 判断题1. ×2. 3. 4. 三、 选择题1. D。解析:实例无法修改类属性,但可以访问类属性。2. A3. B4. A5. C四、 简答题1. 构造方法:类的默认可选方法,如果定义类时不显式提供,Python会给出默认的_init_()方法;构造方法在类实例化时自动调用。析构方法:类的默认可选方法,如果定义类时不显式提供,Python会给出默认的_del_()方法;构造方法在对象被清理时自动调用。2. 类方法的第一个参数为默认参数cls,静态方法没有默认参数;类方法用关键字classmethod修饰,静态方法用关键字staticmethod修饰。3. Python支持继承机制,在定义新类时可以让新类继承已有类,如此新类可直接获取已有类中的成员;Python中的继承分为单继承和多继承,被继承的类称为父类或基类,新类称为子类或派生类,继承一般用于扩展类的功能;子类可以重写从父类继承来的方法,亦可定义新的方法。五、 编程题答案:class Circle:radius = 1def _init_(self,r):self.radius = rdef get_perimeter(self):perimeter = 2*3.14*self.radiusreturn perimeterdef get_area(self):area = 3.14 * self.radius * self.radiusreturn areacircle = Circle(4)per = circle.get_perimeter()area = circle.get_area()print('perimeter=%.2f'%per)print('area=%.2f'%area)第8章 模块一、 填空题1. 第三方模块 自定义模块2. import 模块 from 模块 import 函数/方法3. _init_.py二、 判断题1. 2. 3. ×4. ×5. ×三、 选择题1. D2. A3. D4. B5. D四、 简答题1. 编简述包中_init_.py文件的作用。答:_init_.py文件有两个作用,第一个作用是标识当前目录是一个Python的包;第二个作用是模糊导入,如果_init_文件中没有声明_all_属性,那么使用from . import *导入的内容为空 。2. 请简述_name_属性的用法。答:_name_这个系统变量显示了当前模块执行过程中的名称,如果当前程序运行在这个模块中,_name_ 的名称就是_main_如果不是,则为这个模块的名称。_main_一般作为函数的入口,常常有if _name_ = "_main_":来表明整个工程开始运行的入口。第9章 文件与文件路径操作一、 填空题1. close()2. join()3. listdir()二、 判断题1. ×2. 3. 4. 5. 三、 选择题1. C。readlines()方法返回值是一个列表。2. C3. C4. C5. A四、 简答题1. 文件相对路径指这个文件夹所在的路径与其它文件(或文件夹)的路径关系,绝对路径指盘符开始到当前位置的路径。2. 文件读写位置属性用于记录文件当前读写的位置。五、 编程题答案:source_file = open('words_file.txt', 'r',encoding='utf-8')new_file = open('new_file.txt','w+',encoding='utf-8')content = source_file.read(1)while content: if content = 'Z': content = 'A' elif content = 'z': content = 'a' elif (ord(content) in range(65,90) or (ord(content) in range(97,122): content = chr(ord(content)+1) new_file.write(content) content = source_file.read(1)source_file.close()new_file.close()第10章 错误和异常一、 填空题1. BaseException2. try3. 上下文管理器二、 判断题1. 2. 3. 4. 三、 选择题1. D2. B3. A4. A5. A四、 简答题1. 请简述try_except的用法和作用。答:作用:try-except语句用于捕获程序运行时的异常;用法:try子句后面是可能出错的代码,except子句后面是捕获的异常类型。2. with语句如何实现资源的自动关闭。答:with语句适用于对资源进行访问的场合,无论资源在使用过程中是否发生异常,都可以使用with语句保证执行释放资源操作,这是因为with语句使用了上下文管理的技术管理资源,上下文管理技术中提供_enter_()和_exit_()方法,进入上下文管理器时调用_enter_()方法,当离开上下文管理器时调用_exit_()方法。第11章 正则表达式一、 填空题1. re2. sub() subn()3. 非贪婪二、 判断题1. 2. 3. 4. ×5. ×三、 选择题1. D2. D3. D4. A5. A四、 简答题1.import restr_data = ''url_regex = pile('https?:/(?:a-zA-Z|0-9|$-_.&+|' '!*(),|(?:%0-9a-fA-F0-9a-fA-F)+')print(url_regex.findall(str_data)2.import restr_data = '15732xx'email_regex = pile('0-9a-zA-Z_0,190-9a-zA-Z' '1,13.com,cn,net1,3$')print(email_regex.findall(str_data)第12章 图形用户界面编程一、 填空题1. messagebox2. text3. Entry()方法4. Menu()方法二、 判断题1. ×2. 3. 4. 5. 三、 选择题1. A2. B3. A4. A5. A第13章 进程和线程一、 填空题1. 进程2. 03. 共享4. 前台5. 锁定二、 判断题1. 2. ×3. 4. ×5. 三、 选择题1. C2. B3. D4. A5. D四、 简答题1. 答:主线程的作用主要有两个,一个是产生其他子线程,另一个是最后执行各种关闭操作。2. 答:死锁是指两个或两个以上的线程在执行过程中,由于各自持有一部分共有资源或者彼此通信而造成的一种阻塞的现象。五、 编程题import threadingimport timeclass PrintNum(threading.Thread): def run(self): for i in range(1, 52, 2): lock_show2.acquire() print(i, end='') print(i + 1, end='') time.sleep(0.2) lock_show1.release()class PrintWord(threading.Thread): def run(self): for i in range(26): lock_show1.acquire() print(chr(i + ord('A') time.sleep(0.2) lock_show2.release()lock_show1 = threading.Lock()lock_show2 = threading.Lock()thread_one = PrintNum()thread_two = PrintWord()# 因为线程执行顺序是无序的,保证show1()先执行lock_show1.acquire() thread_one.start()thread_two.start()第14章 网络编程一、 填空题1. 传输2. 0655353. socket()4. 27-2,214-2,221-25. recv() recvfrom()。二、 判断题1. 2. 3. × 4. ×。在python3中,所有数据的传输必须用bytes类型(bytes只支持ascii码),所以在发送数据时需在发送的字符串前面加 'b',或使用encode('utf-8')将字符串转换成bytes类型并在接收端使用decode()进行转码。5. 三、 选择题1. C2. D3. B4. D5. B四、 简答题基于TCP协议的通信流程:基于UDP协议的通信流程:五、 编程题服务器端:#01_tcp_ser.pyimport socketdef main(): #1.create socket tcp_ser_sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #2.bind tcp_ser_sock.bind('192.168.40.129',8080) #3.listen tcp_ser_sock.listen(1000) while True: #4.accept print("waiting for client.") cli_sock,cli_addr = tcp_ser_sock.accept() #print user info print("a guest arrived(%s)" % str(cli_addr) while True: #5.recv msg recv_data = cli_sock.recv(1024) print("recvived msg:%s" % recv_data.decode("utf-8") if recv_data: result = eval(recv_data.decode("utf-8") cli_sock.send(str(result).encode("utf-8") else: break #6.after communication,close cli_sock cli_sock.close() print("sign off.") tcp_ser_sock.close()if _name_="_main_": main()客户端:#01_tcp_cli.pyimport socket#tcp client process def main(): #1.create sock cli_sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #2.connect server cli_sock.connect("192.168.40.129",8080) #3.send msg while True: send_msg = input("pls input sth:") cli_sock.send(send_msg.encode('utf-8') recvInfo = cli_sock.recv(1024).decode('utf-8') print('%s'%recvInfo) #4.close socket cli_sock.colse()if _name_="_main_": main()第15章 数据库编程一、 填空题1. 数据结构2. 关系模型3. 文档结构4. 连接二、 判断题1. 2. ×3. 4. ×三、 选择题1. C2. ABCD3. A4. B5. D四、 简答题1. 答:数据库是按照数据结构来组织、存储和管理数据的仓库,它可以被看作电子化的文件柜存储文件的处所,用户可以对文件中的数据进行增加、删除、修改、查找等操作。2. 关系型数据库是指采用关系模型(即二维表格形式)组织数据的数据库系统,它由数据表和数据表之间的关系组成;非关系型数据库也被称为NoSQL(Not Only SQL)数据库,是指非关系型的、分布式的数据存储系统。与关系型数据库相比,非关系型数据库无需事先为要存储的数据建立字段,它没有固定的结构,既可以拥有不同的字段,也可以存储各种格式的数据。五、 编程题import pymysql# 连接数据库conn = pymysql.connect( host='localhost', user='root', password='123456', charset='utf8')# 获得游标cursor = conn.cursor()# 创建数据库db_student = "create database if not exists dbtest"cursor.execute(db_student)# 创建数据表sql_use = 'use dbtest'cursor.execute(sql_use)sql_table = 'create table if not exists students(stuID int primary key, ' 'stuName varchar(20), stuGender varchar(20), stuAge int)'cursor.execute(sql_table)# 插入数据sql_one = "insert into students (stuID, stuName, stuGender, stuAge) values (%d, '%s', %s, %d)"data1 = (1, '张三', '女', 20)data2 = (2, '李四', '男', 21)data3 = (3, '王五', '女', 20)data4 = (4, '赵六', '男', 19)data5 = (5, '孙七', '女', 22)for i in data1, data2, data3, data4, data5: cursor.execute(sql_one % i)mit()# 修改数据sql = "update students set stuAge = '%d' where stuID = %d"data = (21, 5)cursor.execute(sql % data)mit()# 查询数据sql = "select stuID, stuName from students where stuGender = '女'"cursor.execute(sql)for row in cursor.fetchall(): print("学号:%d 姓名:'%s'" % row)# 删除数据sql = "delete from students where stuID = %d limit %d"data = (5, 1)cursor.execute(sql % data)mit()print('共删除%d条数据' % cursor.rowcount)cursor.close() # 关闭游标conn.close() # 关闭连接第16章 Django框架介绍一、 填空题1. 静态文件2. WSGI3. django-admin startproject 项目名称4. python manage.py startapp 应用名称5. python manage.py runserver二、 判断题1. ×(URL由协议名、服务器地址、资源路径组成)2. 3. 4. 5. 三、 选择题1. C2. B3. C4. D5. B四、 简答题1.答:WSGI,全称 Web Server Gateway Interface,或者 Python Web Server Gateway Interface ,是为 Python 语言定义的 Web 服务器和 Web 应用程序或框架之间的一种简单而通用的接口2.答:(1)服务器接收浏览器发来的请求后交由View视图进行处理;(2)View视图接收数据后,将数据传递Model模型中;(3)Model模型将数据保存到数据库中;(4)数据库将保存结果返回给Model模型;(5)Model模型将保存结果返回给View视图;(6)View视图将结果传递到Template模板;(7)Template模板根据View视图传递的结果生成HTML页面并返回给View视图;(8)View视图将HTML页面交由浏览器进行解析展示

    注意事项

    本文(Python程序开发案例教程答案.docx)为本站会员(知****量)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开