项目名称 项目八 Python程序设计 时间 2022.12.6
地点 知行楼406基础程序设计实验室 小组成员
1.了解 Python 的用处及特性;
2.掌握Python的安装;
3.掌握Python 基本的语法和数据类型;
4.掌握条件控制语句if...else的用法;
5.掌握循环控制语句While、for的用法;
6.了解numpy库的基本功能;
7.掌握字典与数组的相关运算;
8.熟悉pycharm编译器的使用。
主要仪器设备:
1.计算机一台;
2.python-3.7.2安装包;
3.pycharm-community-2019.1社区版安装包。
实验内容
1.利用for循环九九乘法表打印;
2.判断输入任意一个年份是否闰年;
3.查找100以内全部质数;
4.有1,2,3,4,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
5.输入三个整数x,y,z,把这三个数由小到大输出;
6.任意输入一段数字判断其是否为回文数;
7.导入numpy库函数并简写为np,使用numpy库函数创建全0数组、全1数组,随机数数组。
8.输出一个边长为10个”*”的等边三角形;
9.对一分数序列进行求和;
10.计算字典中每个学生的总分;
11.输入身份证号,打印出该人的性别与具体出生年月
实验结果与分析
不能写与预期一致,每个实验内容应该有输入,对应的输出或展示效果
实验体会
写真实体会

实验(训)项目八 Python程序设计

项目一:Python基本语法

一、实验(训)目的

1.了解 Python 的用处及特性;
2.掌握Python的安装;
3.掌握Python 基本的语法和数据类型;
4.掌握条件控制语句if…else的用法;
5.掌握循环控制语句While、for的用法;
6.了解numpy库的基本功能;
7.掌握字典与数组的相关运算;
8.熟悉pycharm编译器的使用。

二、实验(训)仪器及设备

1.计算机一台;
2.python-3.7.2安装包;
3.pycharm-community-2019.1社区版安装包。

三、实验(训)原理

理解python编程的思维,掌握python编程的基本语法,将C语言的基础有效的迁移到Python当中来,提升Python的学习效率,掌握numpy数组的基本运算和拆分。

四、实验(训)内容

1.利用for循环九九乘法表打印;
2.判断输入任意一个年份是否闰年;
3.查找100以内全部质数;
4.有1,2,3,4,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
5.输入三个整数x,y,z,把这三个数由小到大输出;
6.任意输入一段数字判断其是否为回文数;
7.导入numpy库函数并简写为np,使用numpy库函数创建全0数组、全1数组,随机数数组。
8.输出一个边长为10个”*”的等边三角形;
9.对一分数序列进行求和;
10.计算字典中每个学生的总分;
11.输入身份证号,打印出该人的性别与具体出生年月
五、实验(训)步骤及要求
【环境配置与新建项目】+【项目解析演示】
1.打开pycharm点击“File”选项、点击“New Project”新建项目文件、点击Pure Python,将新建的项目存于E盘,并命名为”Python_Basic_Grammar”。

2.选择python解释器。依次选择File、setting、Project Interpreter点右侧箭头处按钮,并选择add,anaconda navigator中添加好所需要的python环境,然后选择箭头处的existing environment,选择配置好的环境所在位置,在anaconda中,是在目录下的env文件夹下面选择需要的环境名字,如下图所示。

3.单击选中”Python_Basic_Grammar”,点击“File”选项;然后下拉选择“new”,并点击“Python file”,将弹出了一个new Python file的窗口,如下图所示。
4.项目解析演示
(1)将new Python file命名为‘TempConvert’,并进行编辑程序。
(2)调试程序,特别强调数据的输入格式。
(3)列举部分程序如下:
① 利用Python程序进行摄氏度和华氏度之间的转换
② 算法分析下如:
步骤1: 分析问题的计算部分:采用公式转换方式解决计算问题
步骤2: 确定功能
输入:华氏或者摄氏温度值、温度标识
处理:温度转化算法
输出:华氏或者摄氏温度值、温度标识
F表示华氏度,82F表示华氏82度
C表示摄氏度,28C表示摄氏28度
步骤3:设计算法,根据华氏和摄氏温度定义,转换公式如下:
C = ( F – 32 ) / 1.8
F = C * 1.8 + 32
其中,C表示摄氏温度,F表示华氏温度
步骤4:编写程序

步骤5:调试、运行程序,单击TempConvert.py文件右键单击“Run TempConvert”运行TempConvert.py程序。步骤和结果如下

实验结果:

【学生自主练习】
1.依次点击项目名称“Python_Basic_Grammar”单击鼠标右键选择“New”Python file默认第一个Python file将new Python file文件命名为“1_multiplication”。编程完成利用for循环九九乘法表打印。
2.将new Python file文件命名为“2_prime_number”,编程实现判断输入任意一个年份是否闰年。
3.将new Python file文件命名为“3_leap_year”,编程实现查找100以内全部质数。
4.将new Python file文件命名为“4_repreating_numbers”,编程找出(1,2,3,4) 这4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
5.将new Python file文件命名为“5_numercial_order”,编程实现输入三个整数x,y,z,把这三个数由小到大输出。
6.将new Python file文件命名为“6_num”。任意输入一段数字判断其是否为回文数,例如:12321是回文数,个位与万位相同,十位与千位相同。
7.将new Python file文件命名为“7_num”,导入numpy库函数并简写为np,使用numpy库函数创建全0数组、全1数组,随机数数组。
8.将new Python file文件命名为“8_num”。输出一个边长为10个”*”的等边三角形。
9.将new Python file文件命名为“9_num”。有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和(备注:原理就是斐波那契数列的后一项除以前一项)。
10.将new Python file文件命名为“10_num”。计算学生总分,根据以下字典计算每个学生的总分(备注:通过同时遍历字典的key和value来实现)。
student_score_dict={
“小明”:[98,77,84],
“小红”:[84,88,79],
“小王”:[88,81,92],
“小可”:[67,95,92],
“花生”:[98,77,85],
“大树”:[79,88,99],
}
11.将new Python file文件命名为“11_num”。要求输入身份证号,打印出该人的性别与具体出生年月(备注:身份证号码的7-14位分别表示出生年月日,第17位表示性别,如果是第17位是奇数则表示男性,如果是偶数则表示女性)。
12.保存所有实验结果的截图。
六、实验(训)报告要求
1.请详细记录上机实训步骤及调试的程序。
2.实验结果与分析部分,请详细分点记录运行之后的结果及并对结果进行分析。
3.实验心得部分请详细分点记录实验过程中出现的问题及如何解决这个问题、实验心得。七、拓展思考
(一)一年365天,以第1天的能力值为基数,记为1.0,当好好学习时能力值相比前一天提高1‰ ,当没有学习时由于遗忘等原因能力值相比前一天下降1‰。每天努力和每天放任,一年下来的能力值相差多少呢?,使用python代码实现。
(二)一年365天,如果好好学习时能力值相比前一天提高5‰,当放任时相比前一天下降5‰。效果相差多少呢?使用python代码实现。
(三)一年365天,一周5个工作日,如果每个工作日都很努力,可以提高1%,仅在周末放任一下 ,能力值每天下降1%,效果如何呢?使用python代码实现。
(四)每周工作5天,休息2天,休息日水平下降0.01,工作日要努力到什么程度一年后的水
平才与每天努力1%所取得的效果一样呢?使用python代码实现。

项目二: Python图形绘制

一、实验(训)目的

(一)了解matplotlib库的基本功能;
(二)掌握matplotlib库的使用方法;
(三)了解matplotlib库中曲线图、散点图的绘制以及图中注释的添加;
(四)掌握绘制柱状图、饼状图和三维图的方法;
(五)掌握绘制图片的保存方法。

二、实验(训)仪器及设备

1.计算机一台;
2.python-3.7.2;
3.pycharm-community-2019.1社区版。

三、实验(训)原理

Matplotlib 是 Python 中最受欢迎的数据可视化软件包之一,支持跨平台运行,它是 Python 常用的 2D 绘图库,同时它也提供了一部分 3D 绘图接口。Matplotlib 通常与 NumPy、Pandas 一起使用,是数据分析中不可或缺的重要工具之一。matplotlib 提供了一套快捷命令式的绘图接口函数,即pyplot 子模块。pyplot 将绘图所需要的对象构建过程封装在函数中,对用户提供了更加友好的接口。pyplot 模块提供一批预定义的绘图函数,大多数函数可以从函数名辨别它的功能。
Matplotlib 是 Python 中类似 MATLAB 的绘图工具,如果您熟悉 MATLAB,那么可以很快的熟悉它。Matplotlib 提供了一套面向对象绘图的 API,它可以轻松地配合 Python GUI 工具包(比如 PyQt,WxPython、Tkinter)在应用程序中嵌入图形。与此同时,它也支持以脚本的形式在 Python、IPython Shell、Jupyter Notebook 以及 Web 应用的服务器中使用。该库函数基本绘制流程如下图示:

四、实验(训)内容

1.导入matplotlib库的pyplot模块简写为plt;
2.用plot方法画出x=(0,10)间sin的图像,并将图像保存为pdf格式的图片文件,图片的名称命名为“sin.pdf”;
3.用点加线的方式画出x=(0,10)间sin的图像;
4.用scatter方法画出x=(0,10)间sin的散点图像,将散点图的颜色改为红色;
5.绘制x=(0,10)间sin的图像,并添加注释文字“sin(x)”;
6.在 2 个子图中,显示 sin(x)和 cos(x)的图像;
7.绘制一个柱状图,并设置柱状图的标签为大写的英文子母;
8.绘制一个水平方向柱状图,并将柱状图的颜色改为金色
9.生成一组随机数绘制一个饼状图
10.绘制一个三维螺旋线

五、实验(训)步骤及要求

【语法梳理】+【语法应用解析】
1.matplotlib.pyplot 库解析
plt 子库提供了一批操作和绘图函数,每个函数代表对图像进行的一个操作,比如创建绘图区域、添加标注或者修改坐标轴等。
2.plt 库的绘图区域函数

3.plt 库的读取和显示函数

4.plt 库的基础图表函数

5.plt 库的坐标轴设置函数

6.项目解析演示
(1)绘制的曲线图,编辑程序。
(2)调试程序,特别强调数据的输入格式。
(3)实验程序和结果如下:

【学生自主练习】
1.打开pycharm,依次点击pycharm编译器的File、New Project、Pure Python、create创建新的项目,其中在Pure Python界面,将新建的项目存于E盘,并命名为”matplotlib learning”。
2.单击选中”matplotlib learning”,点击“File”选项;然后下拉选择“new”,并点击“Python file”,将弹出了一个new Python file的窗口,如下图所示。

3.完成步骤2,将该py文件命名为“1_mat”,导入matplotlib库的pyplot模块简写为plt。
4.重复步骤2,将该py文件命名为“2_mat”。用matplotlib的plt.plot()函数画出x=(0,10)间sin的图像,并将图像保存为pdf格式的图片文件,图片的名称命名为“sin.pdf”。
5.重复步骤2,将该py文件命名为“3_mat”,用点加线的方式画出x=(0,10)间sin(x)的图像。
6.重复步骤2,将该py文件命名为“4_mat”,用scatter方法画出x=(0,10)间sin(x)的散点图像,将散点图的颜色改为红色;
7.重复步骤2,将该py文件命名为“5_mat”,绘制x=(0,10)间sin的图像,并添加注释文字“sin(x)”。
8.重复步骤2,将该py文件命名为“6_mat”,在 2 个子图中,显示 sin(x)和 cos(x)的图像.
9.重复步骤2,将该py文件命名为“7_mat”,绘制一个柱状图,并设置柱状图的标签为大写的英文子母
10重复步骤2,将该py文件命名为“8_mat,绘制一个水平方向柱状图,并将柱状图的颜色改为金色
11.重复步骤2,将该py文件命名为“9_mat”,生成一组随机数绘制一个饼状图
12.重复步骤2,进行输入文件名称,将该py文件命名为“10_mat”,利用sin(x)和 cos(x)绘制一个三维螺旋线.
13.依次完成实验内容的10个实训练习;

六、实验(训)报告要求

1.请详细记录上机实训步骤及调试的程序。
2.实验结果与分析部分,请详细分点记录运行之后的结果及并对结果进行分析。
3.实验心得部分请详细分点记录实验过程中出现的问题及如何解决这个问题、实验心得。

七、拓展思考

1.如何利用turtle这个库绘制爱心;
2.雷达图是通过多个离散属性比较对象的最直观工具 ,掌握绘制雷达图将会为生活和工作带来乐趣。游戏角色中经常出现表示人物能力值的雷达图。DOTAMAX 测试版曾经推出过显示玩家能力值分布的雷达图,如下图所示,只要点击自己或是好友头像,就可以看到能力值在综合、KDA、发育、推进、生存、输出等方面的能力分布使用Python 来绘制这样的多级雷达图,即在一组同心圆上填充不规则六边形,其每个顶点到圆心的距离代表人物某个属性的数据。

文档更新时间: 2022-12-19 21:47   作者:admin