Python实验指导书马川燕山大学计算机教学实验中心2017.5目录1目录实验一:PYTHON程序设计之初窥门径.......................................................................................2实验二:PYTHON程序设计之结构与复用...................................................................................8实验三:PYTHON程序设计之组合数据类型.............................................................................12实验四:PYTHON程序设计之文件.............................................................................................16VisualBasic实验指导书2实验一:Python程序设计之初窥门径一、实验目的:1.了解Python的基本编程环境,熟悉其主要组成部分和使用。2.熟悉turtle库语法元素,了解其绘图坐标体系、画笔控制函数和运动命令函数。通过程序实例,初步掌握Python程序设计的基本概念、编程规则和开发过程。3.掌握Python的基本数据类型的概念和使用;运用Python的标准数学库进行数值计算;掌握字符串类型的格式化操作方法和应用。二、知识要点:1、一张图尽览Python:VisualBasic实验指导书32.Turtle库语法元素VisualBasic实验指导书43.基本数据类型三、实验内容及步骤:基础实验:1.启动IDLE,新建文件,请根据课本中内容,将“蟒蛇绘制”程序逐行输入其中,并运行效果。2.正方形螺旋线的绘制。(1)利用turtle库绘制一个正方形螺旋线,效果如下图所示。VisualBasic实验指导书5(2)修改上面程序,绘制斜螺旋线,效果如下图所示。(3)修改上面程序,绘制彩色斜螺旋线,效果如下图所示。3.彩色蟒蛇绘制。修改1中“蟒蛇绘制”程序,对Python蟒蛇的每个部分采用不同颜色,绘制一条彩色蟒蛇。(提示:参考彩色斜螺旋线绘制程序。实现方法有很多,按照你自己的思路发挥吧)VisualBasic实验指导书6程序完成后,上传提交。4.绘制奥运五环图,其中五种颜色分别为蓝色、黑色、红色、黄色和绿色。注意根据实际效果调整圆形的大小和位置。效果如图所示。请补全绿色环的代码,将程序上传提交。5.参照课本中带刷新的文本进度条例子,制作一个模拟windows启动界面的文本进度条,执行效果如下图所示。VisualBasic实验指导书7源码如下:VisualBasic实验指导书8实验二:Python程序设计之结构与复用一.实验目的1.掌握程序的分支、循环等控制结构;2.掌握random随机库的使用方法;3.了解程序的异常处理及用法;4.掌握函数的定义和调用方法。二.知识要点1.程序控制结构2.函数和代码复用三实验内容及步骤VisualBasic实验指导书91.猜数字游戏。在程序中预设一个0-9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“你猜的数字大于正确答案”;小于预设的数,显示“你猜的数字小于正确答案”,如此循环,直至猜中该数,显示“你猜了N次,猜对了,真厉害”,其中N是用户输入数字的次数。2.猜数字游戏续。改编1中的猜数字游戏,让计算机能够随机产生一个预设数字,范围在0-100之间,其他游戏规则不变。VisualBasic实验指导书103.猜数字游戏再续。用变量maxtimes设置允许猜数字的最大次数(比如最多只允许猜6次maxtimes=6),并在猜错后提示还有几次机会。用for循环改写整个程序,并提交。(提示,猜对后可使用break跳出循环)4.猜数字游戏之续了又续。为了增加代码的复用性,将猜数字游戏封装为函数GuessSecret(maxtimes),将允许猜数字的最大次数maxtimes作为参数。在调用GuessSecret时允许用户自己设置maxtimes,美化程序的输出界面。提交程序文件。执行效果如下图所示。VisualBasic实验指导书115.递归法绘制科赫曲线。请根据课本中内容,将“科赫曲线绘制”程序逐行输入其中,按自己的思路进行修改并运行效果,体会递归思想。VisualBasic实验指导书12实验三:Python程序设计之组合数据类型一.实验目的1.了解3类基本组合数据类型。2.理解列表概念并掌握Python中列表的使用。3.理解字典概念并掌握Python中字典的使用。4.运用jieba库进行中文分词并进行文本词频统计。二.知识要点1.知识要点总图三.实验内容及步骤1.利用列表实现石头剪刀布游戏。请补全程序并提交。请思考:winList使用元组实现可以吗?童鞋们,动手试试吧!VisualBasic实验指导书132.利用字典实现大侠个人信息查询程序。请补全程序并提交。请思考:如何修改程序,使用户只有在输入“exit”的时候才退出程序?诸位,亮亮你的手段吧!提示:可参考1中的石头剪刀布游戏。VisualBasic实验指导书14程序执行效果如下:VisualBasic实验指导书153.利用jieba库对李之仪的《卜算子》进行分词,按以下要求编写程序。(1)利用jieba库对李之仪的《卜算子》进行分词,并查看分词结果。(2)对每个单词计数,并保存到字典类型counts中。查看counts的内容。(3)按照单词出现的次数从高到低排序。因为字典类型是无序的,无法排序,因此将counts转为列表类型(列表排序的知识点详见“python中列表的sort方法使用详解”)。查看排序后的结果。(4)为了增强排序后结果的可读性,利用format调整输出的格式。VisualBasic实验指导书164.《红楼梦》人物统计。参考课本中《三国演义》人物出场统计的程序,编写程序统计《红楼梦》中前20位出场最多的人物,并提交。这里给出参考答案。(贾宝玉,3908)、(王熙凤,1611)、(贾母,1429)、(林黛玉,1291)、(王夫人,1061)、(薛宝钗,929)、(袭人,745)、(贾琏,688)、(平儿,602)、(贾政,523)、(薛姨妈,455)、(探春,437)、(鸳鸯,423)、(史湘云,412)、(晴雯,336)、(贾珍,299)、(刘姥姥,288)、(紫鹃,288)、(邢夫人,287)、(香菱,264)实验四:Python程序设计之文件一.实验目的:1.掌握文件的读写方法以及打开和关闭等基本操作。2.掌握一二维数据的存储格式和读写方法。3.运用json库进行数据的维度转换。二.知识要点:1.文件知识要点总图三.实验内容及步骤在桌面上建立一个以自己学号命名的文件夹,所有实验内容都保存在该文件夹下。1.在excel里录入如下学生信息,并另存为“学生信息表.csv”(另存为时,保存类型选择CSV)。并按以下步骤进行操作,完成程序后提交。(提示:参考教材中操作“城市价格VisualBasic实验指导书17指数”的实例)(1)从CSV文件中读取数据,去掉内容中的逗号,打印到屏幕。(2)将数据['17010002','赵四','女','自动化1701']追加到“学生信息表.csv”文件。(3)将“学生信息表.csv”由CSV格式转换成JSON格式。2.编写程序,根据文件data.txt中的数据,使用turtle库来动态绘制图形路径。VisualBasic实验指导书18程序代码如下,请补全程序并提交。请思考:可否通过修改data.txt文件,绘制教材中第1章课后的“太阳花”?对代码的一点说明:其中的map函数用法:第一个参数接收一个函数名,第二个参数接收一个可迭代对象VisualBasic实验指导书19ls=[1,2,3]rs=map(str,ls)#打印结果['1','2','3']lt=[1,2,3,4,5,6]defadd(num):returnnum+1rs=map(add,lt)print(rs)#[2,3,4,5,6,7]3.编写程序将电子邮件EmailAddressBook.txt和电话薄TeleAddressBook.txt合并为一个完整的通讯录AddressBook.txt给出程序代码如下。VisualBasic实验指导书20