资源描述
Python试验指导书
马 川
燕山大学计算机教学试验中心
.5
目录
试验一:Python程序设计之初窥门径 2
试验二:Python程序设计之结构和复用 7
试验三:Python程序设计之组合数据类型 11
试验四:Python程序设计之文件 15
试验一:Python程序设计之初窥门径
一、试验目标:
1. 了解Python基础编程环境,熟悉其关键组成部分和使用。
2. 熟悉turtle库语法元素,了解其绘图坐标体系、画笔控制函数和运动命令函数。经过程序实例,初步掌握Python程序设计基础概念、编程规则和开发过程。
3. 掌握Python基础数据类型概念和使用; 利用Python标准数学库进行数值计算;掌握字符串类型格式化操作方法和应用。
二、知识关键点:
1、一张图尽览Python:
2.Turtle库语法元素
3.基础数据类型
三、试验内容及步骤:
基础试验:
1. 开启 IDLE,新建文件,请依据书本中内容,将 “蟒蛇绘制”程序逐行输入其中,并运行效果。
2. 正方形螺旋线绘制。
(1)利用turtle库绘制一个正方形螺旋线,效果以下图所表示。
(2)修改上面程序,绘制斜螺旋线,效果以下图所表示。
(3) 修改上面程序,绘制彩色斜螺旋线,效果以下图所表示。
3.彩色蟒蛇绘制。 修改1中“蟒蛇绘制”程序,对 Python 蟒蛇每个部分采取不一样颜色,绘制一条彩色蟒蛇。(提醒:参考彩色斜螺旋线绘制程序。实现方法有很多,根据你自己思绪发挥吧)
程序完成后,上传提交。
4.绘制奥运五环图,其中五种颜色分别为蓝色、黑色、红色、黄色和绿色。注意依据实际效果调整圆形大小和位置。效果图所表示。请补全绿色环代码,将程序上传提交。
5.参考书本中带刷新文本进度条例子,制作一个模拟windows开启界面文本进度条,实施效果以下图所表示。
源码以下:
试验二:Python程序设计之结构和复用
一.试验目标
1.掌握程序分支、循环等控制结构;
2.掌握random随机库使用方法;
3.了解程序异常处理及使用方法;
4.掌握函数定义和调用方法。
二.知识关键点
1.程序控制结构
2. 函数和代码复用
三 试验内容及步骤
1.猜数字游戏。在程序中预设一个0-9之间整数,让用户经过键盘输入所猜数,假如大于预设数,显示“你猜数字大于正确答案”;小于预设数,显示“你猜数字小于正确答案”,如此循环,直至猜中该数,显示“你猜了N次,猜对了,真厉害”,其中N是用户输入数字次数。
2.猜数字游戏续。改编1中猜数字游戏,让计算机能够随机产生一个预设数字,范围在0-100之间,其它游戏规则不变。
3. 猜数字游戏再续。用变量maxtimes设置许可猜数字最大次数(比如最多只许可猜6次maxtimes=6),并在猜错后提醒还有几次机会。用for循环改写整个程序,并提交。(提醒,猜对后可使用break跳出循环)
4.猜数字游戏之续了又续。为了增加代码复用性,将猜数字游戏封装为函数GuessSecret(maxtimes),将许可猜数字最大次数maxtimes作为参数。在调用GuessSecret时许可用户自己设置maxtimes,美化程序输出界面。提交程序文件。
实施效果以下图所表示。
5. 递归法绘制科赫曲线。请依据书本中内容,将 “科赫曲线绘制”程序逐行输入其中,按自己思绪进行修改并运行效果,体会递归思想。
试验三:Python程序设计之组合数据类型
一.试验目标
1.了解3类基础组合数据类型。
2.了解列表概念并掌握Python中列表使用。
3.了解字典概念并掌握Python中字典使用。
4. 利用jieba库进行汉字分词并进行文本词频统计。
二.知识关键点
1.知识关键点总图
三.试验内容及步骤
1.利用列表实现石头剪刀布游戏。请补全程序并提交。
请思索:winList使用元组实现能够吗?童鞋们,动手试试吧!
2. 利用字典实现大侠个人信息查询程序。请补全程序并提交。
请思索:怎样修改程序,使用户只有在输入“exit”时候才退出程序?诸位,亮亮你手段吧!提醒:可参考1中石头剪刀布游戏。
程序实施效果以下:
3.利用jieba库对李之仪《卜算子》进行分词,按以下要求编写程序。
(1) 利用jieba库对李之仪《卜算子》进行分词,并查看分词结果。
(2) 对每个单词计数,并保留到字典类型counts中。查看counts内容。
(3) 根据单词出现次数从高到低排序。因为字典类型是无序,无法排序,所以将counts转为列表类型(列表排序知识点详见“python中列表sort方法使用详解”)。查看排序后结果。
(4) 为了增强排序后结果可读性,利用format调整输出格式。
4.《红楼梦》人物统计。参考书本中《三国演义》人物出场统计程序,编写程序统计《红楼梦》中前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)。并按以下步骤进行操作,完成程序后提交。(提醒:参考教材中操作“城市价格指数”实例)
(1) 从CSV文件中读取数据,去掉内容中逗号,打印到屏幕。
(2) 将数据['17010002', '赵四', '女', '自动化1701']追加到“学生信息表.csv”文件。
(3) 将“学生信息表.csv”由CSV格式转换成JSON格式。
2.编写程序,依据文件data.txt中数据,使用turtle库来动态绘制图形路径。
程序代码以下,请补全程序并提交。
请思索:可否经过修改data.txt文件,绘制教材中第1章课后“太阳花”?
对代码一点说明:
其中map函数使用方法:第一个参数接收一个函数名,第二个参数接收一个可迭代对象
ls = [1,2,3]
rs = map(str, ls)
#打印结果 ['1', '2', '3']
lt = [1, 2, 3, 4, 5, 6]
def add(num):
return num + 1
rs = map(add, lt)
print(rs) #[2,3,4,5,6,7]
3.编写程序将电子邮件EmailAddressBook.txt和电话薄TeleAddressBook.txt合并为一个完整通讯录AddressBook.txt
给出程序代码以下。
展开阅读全文