人工智能程序设计实验指导书
实验一 Python的开发环境(2学时)
实验二 Python语法基础的应用(4学时)
实验三 程序流程控制的应用(6学时)
实验四 组合数据类型的应用(4学时)
实验五 函数的应用(6学时)
实验六 面向对象程序设计方法的应用(6学时)
实验七 文件的应用(4学时)
实验一 Python的开发环境(2学时)
【实验目的】安装并配置Python开发环境,掌握Python程序的运行方式。
【实验类型】设计型
【实验仪器】安装Python语言环境的计算机
【实验内容】
(1) Python的下载
(2) 用Python自带的集成开发环境IDLE新建一个Python文件,输出:'人生苦短,python是岸'。
(3) PyCharm的下载
(4) 用PyCharm新建一个项目,完成输出个人简历介绍程序。
【实验步骤】
1 Python的下载
1)登录Python的官方网站是:http://www.Python.org。
2)选择Downloads->windows
3)根据你的系统是32位或64位选择合适的32位操作系统离线安装包或64位操作系统离线安装包。
4) 双击下载后得到的可执行文件“Python-3.9.0-amd64.exe”
5)如果选择“Install Now”按钮,则进行默认安装
6)如果选择“Customize installation”按钮,则进行自定义安装
7)在自定义安装模式下单击“Next”按钮,用户可以自行设置安装路径,其他采用默认设置。
8) 单击“Install”按钮,开始安装Python。
2 Python的使用
分别用Python编辑器和Python自带的集成开发环境IDLE输出:“人生苦短,python是岸”。
1) 使用交互式执行
(1)打开Python编辑器的运行环境,直接在提示符“>>>”输入命令语句就可以交互式的执行结果。
(2)打开Python自带的集成开发环境IDLE,直接在提示符“>>>”输入命令语句就可以交互式的执行结果。
输入:print ('人生苦短,python是岸')
2)用Python自带的集成开发环境IDLE新建文件实现。
(1)打开Python自带的集成开发环境IDLE,选择file->new file
(2)输入:print ('人生苦短,python是岸')
(3)选择run->run module 运行程序
3 PyCharm的下载
1)登录PyCharm的官方网站是:https://www.jetbrains.com/pycharm/。
2)选择Downloads。
3)选择 community->download 。
4)双击下载后得到的可执行文件“pycharm-community-2020.2.3”,将显示安装向导对话框。
5)单击“Next”按钮开始安装——选择安装路径。
6)单击“Next”按钮进行选择安装选项,建议全部选择。
7) 单击“Next”按钮即可进行正常安装。
4 PyCharm的使用
新建一个项目,完成输出个人简历介绍程序。
基本步骤为:
1)创建新项目,单击“ new project”
2)为新项目选择存放路径,单击“Create”即可创建新项目。
3)新建.py文件。依次单击“File”→“New…”→“Python File”,为新文件命名,则创建.py文件。
4)进行文件编辑,输入个人介绍。
5)运行。Run
6)关闭pycharm。
5 “打开已有项目”,从而对已有项目中的文件进行编辑和使用。
实验二 Python语法基础的应用(4学时)
【实验目的】 掌握Python程序基本结构和各种基本数据类型的使用。熟练运用Python运算符和内置函数,重点掌握输入、输出函数的使用。
【实验类型】设计型
【实验仪器】安装Python语言环境的计算机
【实验内容】
1.输入真角三角形的两直角边长,用勾股定理计算斜边长,并输出该三角形斜边长及面积。
2.输入一个四位整数,将各个位数拆分显示,例如:输入为1234,则输出:
1234的千位是1,百位是2,十位是3,个位是4。
3.会员从商场买东西可以享受购物8折的优惠,该会员用户购物清单如表,请编写程序计算实际消费金额。
物品
|
shirt
|
shoe
|
pad
|
价格
|
245
|
570
|
320
|
购买数
|
2
|
1
|
1
|
4. 一年365天,以第1天的能力值为基数,记为1.0,当好好学习时能力值相比前一天提高1‰(千分之一),当没有学习时由于遗忘等原因能力值相比前一天下降1‰。每天努力学习和每天放弃学习,计算一年下来的能力值相差多少?
5.设计一个程序输入一首藏头诗,每句诗的头一个字。藏头诗是诗歌中一种特殊形式的诗体,它以每句诗的头一个字嵌入你要表达的内容中的一个字。全诗的每句中的头一个字又组成一个完整的词或句子。例如:输入《中国必胜》藏头诗,输出藏头诗句。输入和输出效果如图所示。
6. 输入体重,身高和年龄,根据公式计算正常女性一天的基础代谢,
公式为:女性的基础代谢=655+(9.6X体重kg)+(1.7X身高cm)-(4.7X年龄)。
7.模拟输出超市购物小票。输入商品名称、价格、数量,算出应付金额。月户输入整钱,实现找零和抹零的功能,最后输出购物小票。(假设只购买一件物品)运行效果如下图。
【选做题】
用f-string方式输出如下数据。
(1) 输入任意一个十进制数,按下面格式输出:
1) 整数的最小宽度为8,默认为右对齐,高位补空格。
2) 整数的最小宽度为8,采用左对齐,低位补0。
3) 整数的最小宽度为8,采用居中对齐,高低位补空格。
4) 分别转换成二进制、八进制和十六进制数输出。
(2)任意输入一个小数,分别按以下形式输出:
1)指定最小宽度为10,小数位数为3,默认采用右对齐,高位补0。
2)指定最小宽度为10,小数位数为3,默认采用右对齐,且高位补空格
3)使用千位分隔符_。
实验三 程序流程控制的应用(6学时)
【实验目的】 熟练使用if分支结构、for循环、while循环和break、continue等语句。
【实验类型】设计型
【实验仪器】安装Python语言环境的计算机
【实验内容】
1 输入三个数,按从大到小的顺序排序。
2 商场推出了促销活动,对于不同的顾客和消费金额有不同的折扣,编写一个程序来判断每名顾客享受的折扣如表所示并计算出应付款额。
顾客
|
折扣
|
普通顾客购物满100元
|
9折
|
会员购物
|
8折
|
会员购物满200元
|
7.5折
|
3 用如下近似公式求自然对数的底数e的值,直到最后一项的绝对值小于10-6为止
4 利用嵌套循环打印九九乘法表
5用while循环求1到100的和 。
6利用for循环求1~100中所有奇数的和以及偶数的和。
7求出所有水仙花数。水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
8每行10个输出所有的4位“回文数”。回文数,就是说一个数字从左边读和从右边读的结果是一模一样的,比如12321。
9使用continue语句跳过循环。要求输入若干学生成绩(按Q或q结束),如果成绩<0,则重新输入。统计学生人数和平均成绩。
10 商城提供了用户登录界面,用户可以进行登录,系统会对用户登录进行验证,验证次数最多3次。登录成功显示“欢迎登录系统!”。假设存在一个用户,用户名为Bob,密码为123456。
选做题:
1 设计玩游戏并支付游戏币的计费程序。
需求说明:首先将收费标准和游戏类型显示在屏幕上,然后用户购买游戏币,最后根据用户选择的游戏类型和游戏时长计算应支付额。(游戏种类及收费规则自己设定。)
例如收费规则:2元购买1个游戏币 。游戏类型分为两大类:牌类和休闲竞技类。牌类收费:10元/小时,休闲竞技类收费:20元/小时。游戏时间超过4小时,可以打5折;超过2小时打8折。
2编写程序模拟猜数游戏。
程序运行时,系统生成一个0-15的随机数,然后提示用户进行猜测, 并根据用户输入进行必要的提示(猜对了、太大了、太小了),如果猜对则提前结束程序, 如果猜3次
没有猜对,提示游戏结束并给出正确答案。
实验四 组合数据类型的应用(4学时)
【实验目的】 掌握列表、元组、字典、集合等数据类型的定义及其使用方法。
【实验类型】设计型
【实验仪器】安装Python语言环境的计算机
【实验内容】
1用列表存储一组学员的成绩 [99, 85,82,63,60],分数按降序排列。此外,再增加一个学员的成绩,将它插入成绩序列,并保持降序。
2从键盘输入任意个整数存入列表,将列表中的偶数删除。(注意删除列表元素时从后向前删)
3 在列表中查找特定数值。
4用元组存储10个学生成绩,求最高分,最低分和平均分。
5编写一个利用字典进行用户登录检测程序。将5组用户名和对应的密码预先存储到一个字典中,当用户输入用户名和密码,根据用户输入的用户名和密码与字典中存储的信息进行比较,判断是否正确。用户名不存在提示不存在,若用户名对,密码不正确,提示密码不正确。若都正确,提示登录成功。
6设计一个根据国家猜首都的游戏,用字典定义5个国家及首都,系统随机给出一个国家名,用户猜出首都,系统判断正确与否的游戏。
7删除列表中的重复数据。
【选做题】:完成基于列表的简易名册管理系统:通过列表可以很方便实现一个名册管理系统,实现名字的显示、查询、增加、删除、修改功能。
实验五 函数的应用(6学时)
【实验目的】 了解函数参数传递的机制,理解匿名函数的应用方法。掌握函数定义和调用的方法。
【实验类型】设计型
【实验仪器】安装Python语言环境的计算机
【实验内容】
1.编写函数求n!(n的阶乘)。
2.编写函数求出区间 [i,j] 内(包含端点值)所有整数的和。
3.编写函数,计算三门课程总分和平均值。
4..编写函数求出1~100的所有素数。
5.编写函数打印金字塔。
6.编写函数判断字符串是否是回文。
7.求1-1000中的“完数”。一个数如果恰好等于除它本身外的因子之和,这个数就称为"完数"。例如6=1+2+3。(6的因子是1,2,3)
8.编写函数digit(num,k),返回整数num第K位数字的值。
9.编写函数完成显示两个数之间能被3整除的数。要求一行显示10个数。
附加题:编写函数,可以接收任意多个整数并输出其中的最大值和所有整数之和。
实验六 面向对象程序设计方法的应用(6学时)
【实验目的】 了解面向对象程序设计的概念和特点;掌握类和对象的定义和使用。掌握类的继承的定义及应用。。
【实验类型】设计型
【实验仪器】安装Python语言环境的计算机
【实验内容】
1定义圆Circle类,包括一个实例属性radius,在构造方法中初始化实例属性,定义两个公有的实例方法分别求圆的面积area和周长pe。
编写类的定义和实现上述功能的程序代码。
2设计一个Person类,包括三个实例属性姓名name,身高height,体重weight,在__init__函数中完成实例属性的初始化;定义有两个公有的实例方法introduce()和computeBMI(),introduce()输出姓名,computeBMI()计算体重指数(体重指数=体重/(身高的平方)),如果体重指数大于24,输出“超重,注意控制体重”,否则输出“体重正常”
编写类的定义和实现上述功能的程序代码。
3定义类Book,包括四个实例属性书名name,作者author,单价price,数量amount,在__init__函数中完成属性的初始化;定义两个公有的实例方法,一个count方法负责计算价钱=price*amount。另一个intr方法负责输出书名和作者。
编写类的定义和实现上述功能的程序代码。
4定义一个颜色Color类:
包括一个构造函数,用于初始化对应于红、绿、蓝三种颜色分量的实例对象属性r、g和b。
包括用于输出个颜色分量的公有的实例方法get:输出r、g和b的值
包括用于计算颜色亮度的公有的实例方法count:亮度的计算方法 = 0.3 r + 0.6g + 0.1b
编写类的定义和实现上述功能的程序代码。
5定义一个 Point 点类。它有两个实例属性 x 和 y,一个__init__() 方法对它们初始化,再定义二个公有的实例方法,一个是show方法,输出 x 和 y 的值,另一个是comp方法,输出x和y中的最大值。最后定义对象并调用 show和comp 方法。编写类的定义和实现上述功能的程序代码。
6定义People类,包括实例属性姓名name和年龄age;一个__init__() 方法对它们初始化,再定义一个公有的实例方法say,介绍一下个人的姓名name和年龄age信息。定义People类的派生类:Teacher类。Teacher类增加两个实例属性部门department和工资wages;编写类的定义和实现上述功能的程序代码。
7定义一个学生类Student,包括实例属性姓名name,学号no;一个构造函数对实例属性初始化,和一个公有的实例方法show显示学生信息。再定义一个本科生UndergraduateStudent类,继承自Student类,新增加一个实例属性学院College和一个公有的实例方法show显示本科生的所有信息。
附加题:
1.定义 Student 类,有一个类级的属性country,并通过类成员方法 get_country 和 set_country输出和修改country 的值。在构造方法中定义一个对象级的属性 name 以及获取 name 值的对象方法。
2.定义People类,实例属性有身份证号id、姓名name和年龄age。定义People类的派生类:Student类。Student类增加实例属性学号num和分数score;编写主程序,定义类的对象,设置对象的实例属性,输出对象的信息。
实验七 文件的应用(4学时)
【实验目的】 掌握文本文件操作的过程,包括文件的打开,读出和的写入及csv格式文件的应用。
【实验类型】设计型
【实验仪器】安装Python语言环境的计算机
【实验内容】
1 有一个英文文本文件1.txt,编写程序读取其内容,并将其中的大写字母变为小写字母,小写字母变为大写字母。文本内容如下:
It is never too old to learn.
There is no royal road to learning.
2实现一个账号与密码的管理程序,利用文本文件管理账号和密码,程序功能如下:执行程序后选1输入账号和密码,选2显示输入的账号和密码,结束程序后,打开password文件,查看内容。
3从键盘输入n个学生的信息包括:学号、 姓名和成绩,写入data.Json(或.csv)中。
4 从data.Json(或.csv)文件中读出学生信息,统计成绩的平均值,并在屏幕输出学生信息及平均分。
【选做题】:编程实现 “学习强国”题目学习。
已知题目存储在“F:\”目录下名为“考试题目.csv”的文件中。请编写程序实现从文件中读取出题目答题,并进行对错统计。
考试题目.csv文件自己编写内容随意,例如: