好文档 - 专业文书写作范文服务资料分享网站

Python程序设计--实训总结报告3 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

Python程序设计 实训总结报告

学号: 姓名: 专业: 班级:

04981804026 刘先华

数据科学与大数据技术 18大数据4

实训时间: 2019年6月17日—28日 指导教师: 孙瑜

一、实训目的

通过课程的学习,使学生能够熟练的运用开发环境,结合Python列表等序列类型和控制结构、文件操作和程序调试的基本方法,综合运用知识点,解决实际问题;能够运用Python中的各类包,编写相应程序进行简单的数据处理与分析。

二、实训内容 1.简易图书管理 2.微信好友及朋友圈分析

3.也可以根据情况自拟题目,需指导教师同意。 三、实训总结

1.图书管理系统编写步骤

⑴登录系统制作:在制作之前都需要安装xlutils,直接运行那里输入路径,首先在电脑里面制作一个xls表格,修改工作表命名往里面输入数据即可,接着打开工作表格和工作表。

⑵图书管理模块编写:首先需要查找,打开表格和工作表运用函数:book=xlrd.oprn_workbook(“book.xl),sheet=book.sheet_by_name(“book”),得到行和列r=sheet.nrows,c=sheet.ncols,运用for循环就可得到.

⑶修改模块编写:首先打开表格和工作表,方法和上面相同,获取行数和列数,r=sheet.nrows,c=sheet.ncols,建立副本book_copy=copy.copy(book),和sheet_copy=book_copy.get_sheet(1),输入要修改行数cr=0,利用for循环就可以

⑷ 添加模块编写:首先也需要打开表格和工作表,得到行数和列数,建立副本book_copy=copy.copy(book),和sheet_copy=book_copy.get_sheet(1)

- 1 -

接着运用for循环for i in range(c)换行try换行

sheet_copy.write(r,i,[a]),

⑸删除模块编写:首先都需要打开表格和工作表,获取行数和列数,建立副本,输入修改行数cr=0,利用for循环for i in range(r),利用if语句if sheet.cell(i,0).value==id换行cr=i

⑹封装模块编写:得到一个完整图书管理系统,利用函数def login(username,password),工作表格写入用户名和密码,然后打开工作表格和工作表方法和上面相同,确立所在行和列m=0用户名列下标,p=0密码列下标,q=0状态列下标,用到for循环和if语句确立是否登录成功,第一个for循环for j in range(c),里面if语句if sheet.cell(0,j).value==”username”,m=j,以下密码和状态如同,第二个for语句for i in range(1,r),里面

if

语句:if sheet.cell(i,q).value==”0” and

sheet.cell(i,m).value==username and sheet.cell(i,p).value==password,换行flag=True

2.图书管理系统运用知识点 ⑴xlrd

主要用于读取

xls

excel

表格形式为

f=xlrd.open_workbook(“name.xls”),还可以用来读取工作表形式为sheet=f.sheet_names()。

⑵xlwt用来往工作表格写入数据,形式为f=xlwt.workbook()。 ⑶Xlutils,它主要用来在xlrd和xlwt之间建立一个管道 ,利用xlutils的copy方法将可读对象变成可写对象。

⑷获取行数

r=sheet.nrows,获取列数c=sheet.ncols。

3.编写过程中遇到错误和解决方法如下

- 2 -

⑴错误一:写完程序不能运行,代码无错误,但是出现小红线。

解决:电脑没有安装xiutils这个程序,不能写入副本,在运行那里安装就可以。

⑵错误二:代码没错误,也没有小红线,但是不能运行。 解决:没有导入工作表,直接导入工作表程序正常运行。

⑶错误三;程序全部封装一起,运行没问题,但是只能运行一半出问题。 解决:程序中工作表命名和自己命名工作表命名不一样,修改名字一致就可以。

⑷错误四:语句没问题,运行错误。

解决:循环语句排列不对,每一个循环都需要严格按照程序规则。 4.心得体会

实训的这两个星期以来,有痛苦,有快乐,有开心,收获与汗水成正比,将自己学习的知识运用实际,就不再是纸上谈兵,实践是检验真理的唯一方式,也是检验我们学习能力与运用能力的唯一标准,学以致用,学习的东西能用出来,落在实处,干实事才是真正的学会,懂得。图书馆管理系统是我至今为止做的最复杂的管理系统,持续了近半个月,修改了5到6次,到现在还是处在修改完善的状态,这个过程很辛苦,但也收获满满。在python实训之前,python只是我们每天学习编辑程序的一个工具,本学期以来,我们学习理论知识,并没有深切感受python程序设计的魅力,没有脱离书本的束缚,实训开始后,解开它神秘面纱,近距离的接触,自己编写程序,才发现学会和将其熟练运用,我还有很大的学习成长的空间。

⑴编写程序中的收获与成长

- 3 -

我结合写这个程序的几个阶段和修改过程,谈谈我的心得和一些经验与教训。图书管理系统主要由五部分组成,分别为登录,查询,添加,修改,删除,最后再在测试中将这五个部分封装在一起。当然在做这些这之前我们也简要了解了xlrd与xlwt等包,以让我们实现在python中更改excel表格的功能。然后要在当前的工作目录下建立xls表格并填入用户名和书籍的信息。实现各个功能都有的很重要的一步就是要利用for循环来找到你需要的那一行。

这个程序的第一版,我差不多花了将近1个星期的时间来完成,写出了一个相对完整的代码。在这个过程里,我遇到的最大障碍应该是文件的读取,我一开始对重载输入输出流的定义不当,导致文件读取的内容不对,经过长时间的修改与调整才克服了这一难关。这一版代码虽然完整,但有两个致命的缺陷,一个是只从文件中读取了图书和用户的基本信息,而忽略了借阅记录,还有就是将用户端的用户对象定义成向量,而没有定好特定的对象。在老师的提示下,我使用了重载赋值运算符的方法,找到特定的用户对象。在文件方面,我将图书和用户的借阅信息加入了文件中,这个过程同样有一些问题,一开始,是记录无法正常存取,我加了记录数目这个数据成员做限定才最终解决。之后又发现只能读取第一个人的记录信息,在同学的提示下,我对临时对象做了清空处理,才最后解决这一问题。

这一版,我在用户操作类中用户对象使用了无参的构造函数,登陆之后才去输学号,这其实并不能把用户封死。然后,我就把对应的无参构造函数改成了有参构造函数,只能对特定对象做操作,而且,我把时间改成了每次登陆只输一次,每次登陆后所有借书还书操作都是在同一时间进行,而不用重复的输入时间,借书时只要输入书号即可。通过,这些修改,我基本可以正确的模拟图书馆管理系统功能的实现。但这个程序还不够完善,我现在还在做两方面的

- 4 -

Python程序设计--实训总结报告3 - 图文

Python程序设计实训总结报告学号:姓名:专业:班级:04981804026刘先华数据科学与大数据技术18大数据4实训时间:2019年6月17日—28日指导教师:孙瑜一、实训目的通过
推荐度:
点击下载文档文档为doc格式
9pe2e9uyp683uyx9681999g5n13tgu00und
领取福利

微信扫码领取福利

微信扫码分享