Python 程序设计实验报告6
安徽工程大学
Python 程序设计实验报告
班级:物流 191 姓名:余嘉 学号:3190505116 成绩:
日期:2020/5/5 指导老师:修宇
实验名称:函数
实验目的:
1.掌握函数的定义与使用方法
2.掌握函数的参数传递和变量的作用域
3.掌握函数的嵌套调用和递归调用的方法
实验条件:
PC 机或者远程编程环境
实验内容:
完成三个编程题
1.计算三维空间某点距离原点的欧式距离
问题描述:
欧几里得度量(euclidean metric)(也称欧氏距离)是一个通常采用的距离定义。三维空间里点 a 和 b 的坐标如果分别为 a(x1,y1,z1)、b(x2,y2,z2),则 ab 的距离的计算机公式是 dist(a,b) = √((x1x2)^2+(y1-y2)^2+(z1-z2)^2 )
提示:使用 math.sqrt()函数求平方根
输入输出:
输入 1.0,1.0,1.0 输出 1.73
2.汉诺塔的求解(可选,自行在本地电脑实现)
问题描述:
汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着 64 片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
要求:
①使用函数递归的方法实现一个汉诺塔的求解程序
②汉诺塔的层数为:3
③要求将所有的圆盘从最右边的 A 号柱子全部移动到最左边的 C 号柱子,且每次只能移动一个圆盘
④输出总共移动了多少次
3.判断闰年
问题描述:
编写函数 leap,根据“四年闰百年不闰,四百年又闰”判断是否闰年;在主程序输入一个年份,调用 leap 函数判断其是否为闰年,并输出判断结果
输入输出:
输入 1900 输出 1900 年不是闰年
输入 2000 输出 2000 年是闰年
输入 1995 输出 1995 年不是闰年
实验记录与分析:
(请填写实验记录与分析结果)
1.计算三维空间某点距离原点的欧式距离
编写程序如下:
输出结果:
反思:在写这个题目的时候出现了有关 def 函数使用不正确的情况
2.汉诺塔的求解(可选,自行在本地电脑实现)
编写程序及输出结果如下(在老师帮助下完成)
n=3 时:
n=6 时:
n 值越大,运行内容及时间越长
3.判断闰年
编写程序如下:
输出结果:
反思:
①闰年判断的条件是:能被 4 整除,但不能被 100 整除或能被 400 整除,两条件不可使用"and"连接
②理解"="和"=="的区别