首页 > 其他 > 详细

实验六 函数

时间:2020-05-05 20:17:41      阅读:84      评论:0      收藏:0      [点我收藏+]

实验 6 函数

 【实验目的】  

掌握函数的定义与使用方法;掌握函数的参数传递和变量的作用域;掌握函数的嵌套调用和递归调用的方法;

【实验条件】  

PC机或者远程编程环境

【实验内容】

1、完成三个编程题。

 

题目一 、计算三维空间某点距离原点的欧式距离 

题目描述:

欧几里得度量(euclidean metric)(也称欧氏距离)是一个通常采用的距离定义。三维空间里点a和b的坐标如果分别为a(x1,y1,z1)、b(x2,y2,z2),则ab的距离的计算机公式是dist(a,b) = √( (x1-x2)^2+(y1-y2)^2+(z1-z2)^2 )????????????????????????????????????????????????????????????????????????????????。????????????????????????????????????????????????????????????????????????????????提示:使用math.sqrt()函数求平方根

 

要求:将虚线下的代码复制到答题区域、补充完善后再提交。????????????????????????????????????????????????????????????????????????????????

-------------------------------------------------------------------------------------------------------------------------????????????????????????????????????????????????????????????????????????????????

#请在这里定义distance函数,计算点(x,y,z)与原点的距离值并返回????????????????????????????????????????????????????????????????????????????????

 ????????????????????????????????????????????????????????????????????????????????x,y,z=input().split(",")????????????????????????????????????????????????????????????????????????????????

d=distance(float(x),float(y),float(z))#调用distance函数????????????????????????????????????????????????????????????????????????????????

print("{:.2f}".format(d))#输出距离值,保留三维小数????????????????????????????????????????????????????????????????????????????????

#代码区结束????????????????????????????????????????????????????????????????????????????????

输入格式:

输入是一个点a的三维坐标,以逗号分割,形如:x,y,z ,其中x,y,z都是非负实数。????????????????????????????????????????????????????????????????????????????????

例如:1.2,1.3,1.4????????????????????????????????????????????????????????????????????????????????

输出格式

输出点a与原点的距离(保留小数点后两位)????????????????????????????????????????????????????????????????????????????????,        例如:2.08????????????????????????????????????????????????????????????????????????????????

 

输入输出示例:

         输入             输出

示例 1 1.0,1.0,1.0 1.73

 

拓展:    

在数学中,欧几里得距离或欧几里得度量是欧几里得空间中两点间“普通”(即直线)距离。使用这个距离,欧氏空间成为度量空间。相关联的范数称为欧几里得范数。较早的文献称之为毕达哥拉斯度量。在实践中这个函数在数据分析及挖掘中经常会被使用做相似度的计算。

技术分享图片

技术分享图片

 

 

题目2、汉诺塔的求解(可选,自行在本地电脑实现)

描述

      汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。????????????????????????????????????????????????????????????????????????????????

知乎上有关 汉诺塔的讨论 :技术分享图片https://www.zhihu.com/question/24385418

百度百科:https://baike.baidu.com/item/%E6%B1%89%E8%AF%BA%E5%A1%94/3468295?fr=aladdin

技术分享图片

本题要求:????????????????????????????????????????????????????????????????????????????????

1. 使用函数递归的方法实现一个汉诺塔的求解程序;????????????????????????????????????????????????????????????????????????????????

2. 汉诺塔的层数为:3????????????????????????????????????????????????????????????????????????????????

3. 要求将所有的圆盘从最右边的A号柱子全部移动到最左边的C号柱子,且每次只能移动一个圆盘。????????????????????????????????????????????????????????????????????????????????

4. 输出总共移动了多少次。

 

三根柱子从左至右依次为A、B、C,

六颗串珠从小到大依次为1到3

 

技术分享图片

 

技术分享图片

题目三、判断闰年

    闰年是公历中的名词。闰年分为普通闰年和世纪闰年。普通闰年:公历年份是4的倍数的,且不是100的倍数,为普通闰年。(如2004年就是闰年);世纪闰年:公历年份是整百数的,必须是400的倍数才是世纪闰年(如1900年不是世纪闰年,2000年是世纪闰年);闰年(Leap Year)是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。补上时间差的年份为闰年。闰年共有366天(1-12月分别为31天,29天,31天,30天,31天,30天,31天,31天,30天,31天,30天,31天)

关于闰年 : https://baike.baidu.com/item/%E9%97%B0%E5%B9%B4/27098?fr=aladdin

 

抽象:闰年的判断

1、能被4整除,但不能被100整除;

或2、能被400整除;

 

提示:

1)怎么实现“能被4整除,但不能被100整除”判断?

对year 求余数,看看余数是否为0;参考:year%4==0 and year%100!=0 

2)怎么实现“能被400整除”判断?

还是对year求余数   year%400==0:

3)把二个条件同时考虑(year%4==0 and year%100!=0)  or year%400==0

 

题目描述:

编写函数leap,根据“四年闰百年不闰,四百年又闰”判断是否闰年。在主程序输入一个年份,调用leap函数判断其是否为闰年,并输出判断结果。????????????????????????????????????????????????????????????????????????????????

注意:复制下面代码,填写补充完整,实际参数和形式参数部分也要修改。

技术分享图片

 输入格式????????????????????????????????????????????????????????????????????????????????

 输入一个代表年份的整数????????????????????????????????????????????????????????????????????????????????

输出格式

输出年份是否闰年的判断结果,请见输入输出示例说明

技术分享图片

【实验记录与分析】

(请在填写实验记录与分析结果)

(1)计算三维空间某点距离原点的欧式距离

技术分享图片

 

 技术分享图片

 

 

 

 

 

(2)汉诺塔的求解

技术分享图片

 

 

 

 

(3)判断闰年

技术分享图片

 

 此处不太理解实际参数和形式参数的意义,上网查得      函数定义过程中的名称是叫形式参数,实际参数是一个实际存在的参数,即具体的值

 

实验六 函数

原文:https://www.cnblogs.com/wcy1/p/12832448.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!