用计算python两点之间的距离math_自学生信Python(第二天)|计算出两点之间的距离...
计算出两点之间的距离
日常旁白:本人是一枚生物学的学生,由于对生物信息学特别感兴趣,于是想自学生物信息学(新手莫怪)。了解到生物信息学要有编程基础,尤其是要会一门编程语言,例如: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(第二天)|计算出两点之间的距离...相关推荐
- 怎么用python编写程序计算标准差_自学生信Python(第五天)|如何计算标准差?...
如何计算标准差? 本人是一枚生物学的学生,由于对生物信息学特别感兴趣,于是想自学生物信息学(新手莫怪).了解到生物信息学要有编程基础,尤其是要会一门编程语言,例如:R语言.Python.Perl等,还 ...
- Python 计算两个连通子图距离_复杂网络分析之python利器NetworkX
点击蓝字 关注我们 1 networkx介绍 networkx在2002年5月产生,是一个用Python语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网络数据分 ...
- 地图上的两点,计算出两点之间的角度
根据两个坐标点,计算出两点之间的角度 最常用的场景:地图上的标记点需要动态的改变角度 例子如下: 假如地图上有一条路线轨迹,你的标记点是一辆车的图标,你的车(标记点)在轨迹上运行的时候,如果不动态更改 ...
- python 对比matlab_全面对比 MATLAB、Julia、Python,谁在科学计算中更胜一筹?
原标题:全面对比 MATLAB.Julia.Python,谁在科学计算中更胜一筹? 数百种编程语言,各有优劣,各自也都有自己最为适用的场景.那么就科学计算领域而言,主流的 MATLAB.Julia.P ...
- python:Sklearn SVM使用留一法时如何绘制ROC曲线与计算AUC
在前面的一篇文章我们给出了使用Sklearn 中的SVM进行分类时如何使用留一法来进行分类. python基于sklearn的SVM和留一法(LOOCV)进行二分类 如何在使用留一法时绘制ROC曲线和 ...
- python运算符中用来计算整商的是什么_零基础学python,看完这篇文章,你的python基础就差不多了...
Python基础语法 1. 认识Python 1.1 Python 简介 Python 的创始人为吉多·范罗苏姆(Guido van Rossum). Python 的设计目标: 一门简单直观的语言并 ...
- MOOC《Python语言程序设计》(第15次)Python计算生态概览(第九周)
MOOC<Python语言程序设计>(第15次) Python计算生态概览(第九周)21.8.26 文章目录 MOOC<Python语言程序设计>(第15次) Python计算 ...
- 使用Floyd-Warshall算法求出两点之间的最短路径
求出下面任意两个点之间的最短路径: 如何才能求出两点之间的最短路径呢?大家都知道学几何的时候,有一条定理就是:两点之间线段最短.但是在实际情况中,我往往两点之间没有之间的通路而是一些曲折的线路. 上面 ...
- python计算数学题_「每日一练」巧用python做小学的数学题
很多的小学问题其实已经比较复杂了,我们运用传统的算法,可能会比较难以理解,这里我们可以巧用Python来完成一些小学题目的计算! 下边我们就一起来看看python是怎么计算的? 题目 一球从100米高 ...
最新文章
- tomcat 热部署 生产环境_屋顶隔热改善舍内热环境及生产性能
- MySQL的binarylog处理
- ImportError: cannot import name ‘secure_filename‘的解决办法
- Git Merge VS Rebase
- 左右侧滑菜单功能的实现
- RDA8955中碰到的问题
- 网工的Linux系统学习历程
- 中文版示例代码浏览器for Windows 8
- 丽水数据可视化设计价格_50个数据可视化最有价值的图表(建议收藏)
- 如果要做小程序创业,哪种方式最赚钱?
- 刀片服务器显示连接线,通过浏览器对刀片服务器进行管理
- 仓位管理 – 2.实战篇
- 【个人笔记】OpenCV4 C++ 快速入门 26课
- 前端程序员 学习书籍推荐
- python将视频一帧一帧_python 用opencv接口把视频逐帧转化为图片
- 传智播客python高级-2018年传智播客黑马python15期
- 百度SEO站群WordPress企业主题:企业一号 V 1.2.2
- html下拉菜单图片,JS+CSS 制作的超级简单的下拉菜单附图
- 作业调度算法--先来先服务
- 计算机平面设计基础 photoshop基本操作