计算出两点之间的距离

日常旁白:本人是一枚生物学的学生,由于对生物信息学特别感兴趣,于是想自学生物信息学(新手莫怪)。了解到生物信息学要有编程基础,尤其是要会一门编程语言,例如:R语言、Python、Perl等,还要熟悉Linux系统,作为生信小白,听说Python挺简单的,于是就自学了Python,花了两天时间了解了Python的基础语法后,今天想做个练习题试试手(实践是检验真理的唯一标准),下面是练习题:(试题来源:《PYTHON生物信息学数据管理》)

试题02

书中答案原代码如下:

from math import *

x1,y1,z1 = 0.1,0.0,-0.7

x2,y2,z2 = 0.5,-1.0,2.7

dx = x1-x2

dy = y1-y2

dz = z1-z2

dsquare = pow(dx,2)+pow(dy,2)+pow(dz,2)

d = sqrt(dsquare)

print(d)

为了将所学内容活用,充分理解思路,特拆分讲解。(嫌麻烦的可以直接查看最后的升级版代码)

第一步:导入math模块

from math import *

第二步:获取两个点的坐标

①方便随时计算用户输入的两点的坐标并计算出两个点之间的距离。特增加了获取用户输入的input()函数。

#获取用户输入

x1,y1,z1=input("请依次输入点1纵横坐标的值:",)

x2,y2,z2=input("请依次输入点2纵横坐标的值:",)

②为了简化同时获取用户输入的点的坐标的三个值,使用了切片功能。split(',')表示以“,”作为分隔符,切割用户输入的三个字符。

x1,y1,z1=input("请依次输入点1纵横坐标的值:",).split(',')

x2,y2,z2=input("请依次输入点2纵横坐标的值:",).split(',')

第三步:编写计算公式

①计算差值

由于系统默认用户输入的是字符,所以使用下面的代码计算可能会报错

dx = x1-x2

dy = y1-y2

dz = z1-z2

因此增加了eval()函数,将字符串转化为数值,方便下面的计算,代码如下:

dx = eval(x1) -eval(x2)

dy = eval(y1) -eval(y2)

dz = eval(z1) -eval(z2)

②计算公式

计算公式代码如下:

dsquare = pow(dx,2)+pow(dy,2)+pow(dz,2)

d = sqrt(dsquare)

第四步:输出结果

print(d)

最后将代码总结如下:

from math import *

#获取用户输入

x1,y1,z1=input("请依次输入点1纵横坐标的值:",).split(',')

x2,y2,z2=input("请依次输入点2纵横坐标的值:",).split(',')

dx = eval(x1) -eval(x2)

dy = eval(y1) -eval(y2)

dz = eval(z1) -eval(z2)

dsquare = pow(dx,2)+pow(dy,2)+pow(dz,2)

d = sqrt(dsquare)

print(d)

虽然这是个小小的计算程序,但对于初学者的我来说每一次对原代码的升级改造,哪怕是读懂后的注释都感觉是一次进步提升,总之代码虽小,动手最重要!希望更多学习Python的爱好者不要像我一样眼高手低,学习编程就是要,思考,敲码,思考,敲码,敲码,再敲码!

用计算python两点之间的距离math_自学生信Python(第二天)|计算出两点之间的距离...相关推荐

  1. 怎么用python编写程序计算标准差_自学生信Python(第五天)|如何计算标准差?...

    如何计算标准差? 本人是一枚生物学的学生,由于对生物信息学特别感兴趣,于是想自学生物信息学(新手莫怪).了解到生物信息学要有编程基础,尤其是要会一门编程语言,例如:R语言.Python.Perl等,还 ...

  2. Python 计算两个连通子图距离_复杂网络分析之python利器NetworkX

    点击蓝字 关注我们 1 networkx介绍 networkx在2002年5月产生,是一个用Python语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网络数据分 ...

  3. 地图上的两点,计算出两点之间的角度

    根据两个坐标点,计算出两点之间的角度 最常用的场景:地图上的标记点需要动态的改变角度 例子如下: 假如地图上有一条路线轨迹,你的标记点是一辆车的图标,你的车(标记点)在轨迹上运行的时候,如果不动态更改 ...

  4. python 对比matlab_全面对比 MATLAB、Julia、Python,谁在科学计算中更胜一筹?

    原标题:全面对比 MATLAB.Julia.Python,谁在科学计算中更胜一筹? 数百种编程语言,各有优劣,各自也都有自己最为适用的场景.那么就科学计算领域而言,主流的 MATLAB.Julia.P ...

  5. python:Sklearn SVM使用留一法时如何绘制ROC曲线与计算AUC

    在前面的一篇文章我们给出了使用Sklearn 中的SVM进行分类时如何使用留一法来进行分类. python基于sklearn的SVM和留一法(LOOCV)进行二分类 如何在使用留一法时绘制ROC曲线和 ...

  6. python运算符中用来计算整商的是什么_零基础学python,看完这篇文章,你的python基础就差不多了...

    Python基础语法 1. 认识Python 1.1 Python 简介 Python 的创始人为吉多·范罗苏姆(Guido van Rossum). Python 的设计目标: 一门简单直观的语言并 ...

  7. MOOC《Python语言程序设计》(第15次)Python计算生态概览(第九周)

    MOOC<Python语言程序设计>(第15次) Python计算生态概览(第九周)21.8.26 文章目录 MOOC<Python语言程序设计>(第15次) Python计算 ...

  8. 使用Floyd-Warshall算法求出两点之间的最短路径

    求出下面任意两个点之间的最短路径: 如何才能求出两点之间的最短路径呢?大家都知道学几何的时候,有一条定理就是:两点之间线段最短.但是在实际情况中,我往往两点之间没有之间的通路而是一些曲折的线路. 上面 ...

  9. python计算数学题_「每日一练」巧用python做小学的数学题

    很多的小学问题其实已经比较复杂了,我们运用传统的算法,可能会比较难以理解,这里我们可以巧用Python来完成一些小学题目的计算! 下边我们就一起来看看python是怎么计算的? 题目 一球从100米高 ...

最新文章

  1. tomcat 热部署 生产环境_屋顶隔热改善舍内热环境及生产性能
  2. MySQL的binarylog处理
  3. ImportError: cannot import name ‘secure_filename‘的解决办法
  4. Git Merge VS Rebase
  5. 左右侧滑菜单功能的实现
  6. RDA8955中碰到的问题
  7. 网工的Linux系统学习历程
  8. 中文版示例代码浏览器for Windows 8
  9. 丽水数据可视化设计价格_50个数据可视化最有价值的图表(建议收藏)
  10. 如果要做小程序创业,哪种方式最赚钱?
  11. 刀片服务器显示连接线,通过浏览器对刀片服务器进行管理
  12. 仓位管理 – 2.实战篇
  13. 【个人笔记】OpenCV4 C++ 快速入门 26课
  14. 前端程序员 学习书籍推荐
  15. python将视频一帧一帧_python 用opencv接口把视频逐帧转化为图片
  16. 传智播客python高级-2018年传智播客黑马python15期
  17. 百度SEO站群WordPress企业主题:企业一号 V 1.2.2
  18. html下拉菜单图片,JS+CSS 制作的超级简单的下拉菜单附图
  19. 作业调度算法--先来先服务
  20. 计算机平面设计基础 photoshop基本操作

热门文章

  1. Java学习踩坑:阿里云OSS文件上传前端通过路径获取报403错误
  2. Linux下载VOC数据集
  3. Shell脚本编程史上最全手册
  4. php两种基本的输出方及实例详解
  5. C#窗体控件自适应程序框大小
  6. mysql哨兵模式_3台服务器Redis高可用哨兵模式实现
  7. 神经网络梯度消失和梯度爆炸及解决办法
  8. iOS:UILabel省略号 NSLineBreakMode
  9. idea修改快捷键为eclipse的快捷键
  10. idea修改快捷键,跳转实现类快捷键