《Python程序设计》实验教学大纲.docx
《《Python程序设计》实验教学大纲.docx》由会员分享,可在线阅读,更多相关《《Python程序设计》实验教学大纲.docx(8页珍藏版)》请在冰豆网上搜索。
《Python程序设计》实验教学大纲
《Python程序设计》课程实验教学大纲
一、课程基本信息(黑体/小四)
课程代码:
17012003
课程名称:
python程序设计
英文名称:
PythonProgramming
实验总学时:
32
适用专业:
电子商务本科专业
课程类别:
专业课
先修课程:
C语言
二、实验教学的总体目的和要求
(一)总体目标
通过本课程的学习,使得学生能够理解Python的编程模式,验证、理解直至熟练运用课堂所学知识,熟练使用IDLE、wingeIDE或其他Python开发环境,熟练运用Python列表、元组、字典、集合等基本数据类型以及相关列表推导式、切片等特性来解决实际问题,熟练掌握Python分支结构、循环结构、函数设计以及类的设计与使用,熟练使用正则表达式处理字符串,熟练使用Python读写文本文件与二进制文件,了解Python程序的调试方法,熟练运用Python编写面向对象程序,同时使学生了解不同领域的Python扩展模块基本用法,同时还应培养学生的代码优化与安全编程意识,培养学生的创新意识、人文素养、科学思维、严谨求实和工匠精神。
(二)总体要求
1、对学生的要求
(1)电子商务本科专业必须先修习c语言等课程。
熟练掌握各个实验的过程和步骤
(2)学生需提早五分钟进入实验室,入座后启动实验用的计算机。
迟到10分钟者,则该节实验课以旷课处理。
(3)因故须请假者,必须按学校规定的要求持有效请假条交给任课教师,事后补交者无效。
(4)上机有问题请举手,同学间有问题可相互讨论,但不得喧哗。
(5)试验期间不得做与实验无关的事,不准将食物带入实验室。
(6)实验结束后须关机,将键盘架及座椅摆放整齐,并将本机台面等处杂物主动带离实验室。
2、对教师的要求
(1)教师要非常熟悉实验的每一个环节,因材施教,对各个学生实验中的疑问能快速解决。
(2)教师上实验课时需按时进入实验室,不得无故迟到。
(3)实验课期间,教师要认真指导学生,发现问题及时解决。
(4)认真批改学生的实验报告,并如实填写实验成绩。
(5)严格要求学生遵守操作规程和学生实验守则,对违反并不听劝告者,教师有权制止其使用计算机,必要时停止其实验。
(6)实验课上不做与实验内容无关的事,不得无故擅离实验室。
3、对实验条件的要求
(1)硬件要求:
P4以上微型计算机,内部组成局域网,对外每台机器均连入Internet互联网。
(2)软件要求:
操作系统:
WindowsXP
软件:
Anaconda3,Python3.7以上版本
(3)课后实验学时要求:
和课内实验学时按1:
1配置(32学时)
三、实验教学内容
实验项目一 Pythoninstallationanddevelopmentenvironmentconstruction
实验名称:
Pythoninstallationanddevelopmentenvironmentconstruction
实验内容:
1、安装Python解释器。
2、安装Python扩展库。
3、安装Anaconda
实验性质:
验证型
实验学时:
2
实验目的与要求:
1、熟练掌握Python解释器安装与基本用法。
2、熟练掌握使用pip命令安装Python扩展库。
3、弄明白什么是“计算思维”和“程序化思维。
”
实验条件:
Anaconda3,Python3.7以上版本
研究与思考:
1.简单说明如何选择正确的Python版本?
2.从中美贸易战引出软件对国力的重要性。
实验项目二Pythonoperators,built-infunctions
实验名称:
Pythonoperators,built-infunctions
实验内容:
1、编写程序,输入任意大的自然数,输出各位数字之和。
2、编写程序,输入两个集合setA和setB,分别输出它们的交集、并集和差集setA-setB。
3、编写程序,输入一个自然数,输出它的二进制、八进制、十六进制表示形式
实验性质:
验证型、设计型
实验学时:
2
实验目的与要求:
1、熟练运用Python运算符。
2、熟练运用Python内置函数。
实验条件:
Anaconda3,Python3.7以上版本
研究与思考:
1.为什么说Python采用的是基于值的内存管理模式?
实验项目三UsesMonteCarlomethodtocalculatetheapproximatevalueofPI
实验名称:
UsesMonteCarlomethodtocalculatetheapproximatevalueofPI
实验内容:
UsesMonteCarlomethodtocalculatetheapproximatevalueofPI
实验性质:
验证型、设计型
实验学时:
4
实验目的与要求:
1、理解蒙特·卡罗方法原理。
2、理解for循环本质与工作原理。
3、了解random模块中常用函数。
实验条件:
Anaconda3,Python3.7以上版本
研究与思考:
还没有别的方法计算圆周率?
实验项目四Usinglisttorealizefilteringmethodtofindprimenumber
实验名称:
Usinglisttorealizefilteringmethodtofindprimenumber
实验内容:
编写程序,输入一个大于2的自然数,然后输出小于该数字的所有素数组成的列表。
实验性质:
验证型、设计型
实验学时:
2
实验目的与要求:
1、理解筛选法求解素数的原理。
2、理解列表切片操作。
3、熟练运用内置函数enumerate()。
4、熟练运用内置函数filer()。
5、理解序列解包工作原理。
6、初步了解选择结构和循环结构。
实验条件:
Anaconda3,Python3.7以上版本
研究与思考:
列表的使用优点和缺点?
实验项目五Usingsettorealizefilteringmethodtofindprimenumber
实验名称:
Usingsettorealizefilteringmethodtofindprimenumber
实验内容:
编写程序,输入一个大于2的自然数,然后输出小于该数字的所有素数组成的列表。
实验性质:
验证型、设计型
实验学时:
2
实验目的与要求:
1、理解求解素数的筛选法原理。
2、理解Python集合对象的discard()方法。
3、熟练运用列表推导式。
4、理解for循环工作原理。
实验条件:
Anaconda3,Python3.7以上版本
研究与思考:
集合的使用优点和缺点?
实验项目六thegametocatchfox
实验名称:
thegametocatchfox
实验内容:
编写程序,模拟抓狐狸小游戏。
假设一共有一排5个洞口,小狐狸最开始的时候在其中一个洞口,然后玩家随机打开一个洞口,如果里面有狐狸就抓到了。
如果洞口里没有狐狸就第二天再来抓,但是第二天狐狸会在玩家来抓之前跳到隔壁洞口里。
实验性质:
验证型、设计型
实验学时:
4
实验目的与要求:
1、培养分析问题并对进行建模的能力。
2、熟练使用列表解决实际问题。
3、熟练运用选择结构和循环结构解决实际问题。
4、理解带else子句的循环结构执行流程。
5、理解使用异常处理结构约束用户输入的用法。
6、从分支选择算法流程引导学生做一个凡事有条理的人。
实验条件:
Anaconda3,Python3.7以上版本
研究与思考:
1.逻辑运算符or如何实现短路求值?
2.循环如何做到优化,如何考虑边界条件?
实验项目七Xiaomingclimbsstairs
实验名称:
Xiaomingclimbsstairs
实验内容:
假设一段楼梯共15个台阶,小明一步最多能上3个台阶。
编写程序计算小明上这段楼梯一共有多少种方法。
要求给出递归法代码。
实验性质:
验证型、设计型
实验学时:
4
实验目的与要求:
1、理解并熟练使用序列解包。
2、理解递归函数工作原理。
3、能够编写递归函数代码解决实际问题。
4、理解Python字典的用法。
实验条件:
Anaconda3,Python3.7以上版本
研究与思考:
局部变量和全局变量如何影响,举例证明?
实验项目八Implementationofqueuestructurewithtimeoutfunctionbycustomclass
实验名称:
Implementationofqueuestructurewithtimeoutfunctionbycustomclass
实验内容:
编写程序,实现自定义类,模拟队列结构。
要求实现入队、出队以及修改队列大小和判断队列是否为空、是否为满的功能,同时要求在入队时如果队列已满则等待指定时间、出队时如果队列已空则等待指定时间等辅助功能。
实验性质:
验证型、设计型
实验学时:
4
实验目的与要求:
1、了解标准库time中time()函数的用法。
2、了解如何定义一个类。
3、理解队列结构的特点。
4、理解入队和出队时超时功能的实现。
实验条件:
Anaconda3,Python3.7以上版本
研究与思考:
1.简单解释Python中以下划线开头的变量名特点?
实验项目九Textfileoperation
实验名称:
Textfileoperation
实验内容:
编写一个程序demo.py,要求运行该程序后,生成demo_new.py文件,其中内容与demo.py一样,只是在每一行的后面加上行号。
要求行号以#开始,并且所有行的#符号垂直对齐。
实验性质:
验证型、设计型
实验学时:
4
实验目的与要求:
1、熟练掌握内置函数open()的用法。
2、熟练运用内置函数len()、max()、enumerate()。
3、理解字符串方法ljust()。
4、理解列表推导式。
实验条件:
Anaconda3,Python3.7以上版本
研究与思考:
简单解释Python的字符串驻留机制?
实验项目十OutlookemailviruscrawlsweatherforecastofShandongcitiesbyusingtheframeworkof"scratch"
实验名称:
OutlookemailviruscrawlsweatherforecastofShandongcitiesbyusingtheframeworkof"scratch"
实验内容:
运用工具(MicrosoftOutlook2003、MicrosoftWord2003)实现outlook邮件病毒,攻击邮箱联系人的电脑安装Python扩展库scrapy,然后编写爬虫项目,从网站爬取山东各城市的天气预报数据,并把爬取到的天气数据写入本地文本weather.txt。
实验性质:
验证型、设计型
实验学时:
2
实验目的与要求:
1、熟练安装Python扩展库scrapy。
2、熟悉常见HTML标签的用法。
3、理解网页源代码结构。
4、理解scrapy框架工作原理。
实验条件:
Anaconda3,Python3.7以上版本
研究与思考:
网站如何防止爬虫的侵害?
实验项目十一Dataanalysisandvisualcomprehensiveexperiment
实验名称:
Dataanalysisandvisualcomprehensiveexperiment
实验内容:
在当前文件夹中生成饭店营业额模拟数据文件data.csv。
使用matplotlib生成折线图,反应该饭店每天的营业额情况;按月份进行统计,使用matplotlib绘制柱状图显示每个月份的营业额;找出相邻两个月最大涨幅;按季度统计该饭店2017年的营业额数据,使用matplotlib生成饼状图显示2017年4个季度的营业额分布情况。
实验性质:
验证型、设计型
实验学时:
2
实验目的与要求:
1、熟悉Python标准库csv的用法。
2、熟悉CSV和TXT文件操作。
3、熟练安装扩展库numpy、pandas、matplotlib。
4、熟悉使用扩展库pandas进行数据分析的基本操作。
5、熟悉使用扩展库matplotlib进行数据可视化的基本操作。
实验条件:
Anaconda3,Python3.7以上版本
研究与思考:
选择一篇英文文章,如何用柱状图显示每个单词的频次?
四、考核方式
每个实验当堂进行检查,同时进行奖励政策,第一组做完的同学平时成绩加2分。
每次的实验分计算如下:
1.如果实验分为2个小实验,只做完一个为70分,2个实验都做完为100分。
2.如果实验为1个小实验,做完为100分。
实验课成绩由实验教师根据每位学生所完成的每次实验分累积而得,实验课成绩为百分制,其与学生课堂出勤、课堂表现、课后作业、思政意识、社会主义价值观等一起计入平时成绩考核,平时成绩占学期总成绩的30%。
五、推荐实验教材和教学参考书
实验教材:
[1]BillLubanovic,IntroducingPython:
ModernComputinginSimplePackages,O'ReillyMedia2014.12
[2]丁嘉瑞等译,Python语言及其应用,人民邮电出版社,2016.1
[3]董付国.《Python程序设计》,清华大学出版社,2015
[4]董付国.《Python程序设计基础》,清华大学出版社,2015
参考书:
[1]张颖,赖勇浩著.《编写高质量代码——改善Python程序的91个建议》.机械工业出版社,2014
[2]杨佩璐,宋强等编著.《Python宝典》.电子工业出版社,2014