安徽工程大学

Python程序设计 实验报告

班级  物流192班   姓名吕晨学号3190505209  成就

日期    2020.5.4     指导先生修宇

【实验名称】实验六 函数

【实验目的】

掌握函数的界说与使用方式;掌握函数的参数通报和变量的作用域;掌握函数的嵌套挪用和递归挪用的方式;

【实验条件】

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

拓展:

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

问题二、汉诺塔的求解(可选,自行在内陆电脑实现)

形貌

汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天缔造天下的时刻做了三根金刚石柱子,在一根柱子上从下往上凭据巨细顺序摞着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函数判断其是否为闰年,并输出判断效果。‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

注重:复制下面代码,填写填补完整,现实参数和形式参数部门也要修改。

输入花样‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

输入一个代表年份的整数‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

输出花样

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

【实验历程】

实验历程与纪录

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

代码如下:

用IDLE运行程序如下:

dist等式还可以用以下两种方式表达:

(1)

(2)

在实验历程中泛起的错误:

(1)

错误剖析:未引入math库,没有界说math函数导致错误,应该在第一行加上import math。

(2)

错误剖析:return已经输入开平方后的效果,dist等式还乘二分之一导致错误。

问题二、汉诺塔的求解

代码如下:

用Visual Studio Code运行程序:

用IDLE运行程序:

当盘子数目为3时:

当盘子数目为8时:

原本没有什么思绪,通过先生的指导上网查找了一些资料才有些思绪,厥后经由先生的解说才真正明了。

经先生提醒发现有时在Visual Studio Code里输入代码运行程序加倍利便,以后也会试着用在这里编写代码。

在实验历程中泛起的错误:

错误剖析:在输入代码时泛起缩进的错误,未将else与if对齐导致泛起无效语法。

问题三、判断闰年

在实验历程中泛起的错误:

错误剖析:将if (y%4==0 and y%100!=0) or y%400==0:错写为if (y%4==0 and y%100!=0) and y%400==0:导致输入2000时,获得的效果是2000不是闰年。

原文链接:https://www.cnblogs.com/hanqian123/p/12824449.html

本站声明:网站内容来源于网络,若有侵权,请联系我们,我们将及时处理。

python的实验报告大一心理_Python程序设计实验报告: 实验六相关推荐

  1. python的实验报告大一心理_python的期末实验报告

    青岛工学院 实验报告 <Python 语言基础>实验报告 实验室: 实验题目 年... python大作业实验报告.pptx_计算机软件及应用_IT/计算机_专业资料.... 温州大学瓯江 ...

  2. python实训报告5000字_Python程序设计实验报告(一)

    安徽工程大学 Python程序设计实验报告 班级 物流192 姓名 昌一鸣 学号 3190505225 成绩 日期 3月8日 指导老师 修宇 实验名称 实验一 熟悉IDLE和在线编程平台 实验目的 1 ...

  3. python程序设计实验报告实验程序流程序列化_Python程序设计_教学大纲_段震.doc

    <Python程序设计>教学大纲 安徽大学 计算机科学与技术 学院 2015 年 10 月课程性质与设置目的要求(前言)<Python程序设计>课程是计算机科学与技术学院各专业 ...

  4. python123程序设计实验答案_Python程序设计第二次实验报告

    安徽工程大学 Python程序设计 实验报告 班级  物流192   姓名昌一鸣学号3190505225   成绩 日期   2020.3.22     指导老师修宇 [实验名称]   实验二 顺序结 ...

  5. c语言程序设计综合性设计实验报告,《C语言程序设计》-综合性实验实验报告(参考格式...

    <<C语言程序设计>-综合性实验实验报告(参考格式>由会员分享,可在线阅读,更多相关<<C语言程序设计>-综合性实验实验报告(参考格式(9页珍藏版)>请 ...

  6. 《c语言程序设计》实验(上机)报告,《c语言程序设计》上机实验报告要求

    <c语言程序设计>上机实验报告要求 1. 实验环境: 软件系统:使用的软件环境 硬件系统:机型说明 2. 实验目的:掌握如何编辑.编译.链接调试运行c程序 3. 实验内容: (1) 掌握顺 ...

  7. python上机实验报告读取文件_Python程序设计实验报告:实验八 文件

    安徽工程大学 Python程序设计 实验报告 班级 物流192姓名陶俊 学号3190505235 成绩 日期 2020.6.3 指导老师修宇 实验八 文件 [实验目的] 掌握读写文本文件或 CSV 文 ...

  8. python上机实验报告读取文件_Python程序设计实验报告八 : 文件

    安徽工程大学 Python程序设计 实验报告 班级 物流192 姓名凌剑涛 学号 3190505233成绩 日期2020.6.3 指导老师 修宇 实验八 文件 [实验目的] 掌握读写文本文件或CSV文 ...

  9. python上机实验报告读取文件_Python程序设计实验八:文件

    安徽工程大学 Python程序设计实验报告 班级:物流192 姓名:李心悦 学号:3190505218成绩: 日期:2020.6.3 指导教师:修宇 [实验名称]实验八 文件 [实验目的] 掌握读写文 ...

最新文章

  1. 客户端dmesg_打印调试技术 printk klogd dmesg(解决打印信息的问题)
  2. C#里partial关键字的作用
  3. 监控 SQL Server 的运行状况
  4. redis延迟队列 实现_php使用redis的有序集合zset实现延迟队列
  5. .Net 中的反射(反射特性) - Part.3 - (转载)
  6. 美国人这样教育小学生_节选
  7. 兵器类专业学c语言吗,第四轮学科评估C类学科如何?学姐:重点大学,热门专业放心读...
  8. Android audio切换设备通道流程(二十八)
  9. Junit框架使用--JUnit常用断言及注解
  10. RoboWare Studio入门教程(一)
  11. 马尔可夫链 (Markov Chains)
  12. 网易详述8个月全过程:员工申请仲裁要求支付61万赔偿
  13. jpg格式电脑怎么弄_jpg图片格式如何操作
  14. RxJava详细解析
  15. Luogu P1197
  16. 适配7.0手机拍照、相册、裁剪图片
  17. 2021nian开源SLAM 算法
  18. MySQL的varchar水真的太深了——InnoDB记录存储结构
  19. python通过Tkinter库实现的一个简单的文本编辑器源码
  20. nbu15_克鲁勃NBU 15

热门文章

  1. 使用Scanner收集你的身高体重,并计算出你的BMI值是多少 BMI的计算公式是 体重(kg) / (身高*身高)
  2. python常用工具类
  3. 这世界就是,一些人总在昼夜不停地运转,而另外一些人,起床就发现世界已经变了。...
  4. JAVA超全笔试/面试考试题.(500问)--第三章面试题全面收录
  5. excel表格怎么调整行高和列宽_WPS图文教程:表格使用小技巧
  6. 手把手介绍Manjaro中添加Google输入法---亲身测试,成功安装
  7. 模式识别基本概念小结(学习笔记)
  8. cdlinux 0.9.8_Cdlinux的GNU / Linux发行版0.9.6.1版
  9. oracle library is not loaded解决方法
  10. ASTER GDEM v3.0高程数据批量下载