用Python如何计算两点间距离?
第一步,我们先来看一下两点间的距离公式。
两点间距离公式:
???这是个啥?
是不是方法一还能看懂,方法二却一脸懵逼?
请仔细看注释,
也就是说,根号2还可以写成2的0.5(也就是1/2)次方
这个是高中学过的知识,不知道你有没有想起来,哈哈......
第二步,我们需要学习一下pow()这个函数
pow(a,b)是计算a的b次方的一个函数
例如:pow(2,3)为2的3次方,为8
第三步,split()函数
split()函数是将数据按指定格式分割开,默认为空格
例1:
a = "0 1 3 5"
print(a.slpit())
将a中的数据以空格的分割开,并返回一个['0', '1', '3', '5']形式的列表
例2:
a = 0,1,3,5
print(s.split(","))
将a中的数据以逗号分割开,并返回一个['0', '1', '3', '5']形式的列表
第四步 format()格式化
format()格式化与%s, %d, %f有异曲同工之效,都是先为数据占一个位,而后补充数据
例1:
weekday = "星期一"
print('今天是%s' % weekday)
显示为:今天是星期一
例2:
weekday = "星期一"
print('今天是{}'.format(weekday))
第五步,我们看一下具体的代码~
从键盘上输入4个数字,各数字采用空格分隔,对应变量为x0, y0, x1, y1。计算两点(x0, y0)和(x1, y1)之间的距离。在屏幕上输出这个距离,保留2位小数。例如,键盘输入0 1 3 5,屏幕输出5.00
#输入数据
ntxt=input('请输入4个数字(空格分隔):')
#利用split()函数,通过空格将数据分隔开并赋值给变量nls
nls=ntxt.split()
#利用eval()函数将字符串类型转化为数据类型;
#nls[0],将nls中的第零个数据赋值给变量x0
x0=eval(nls[0])
#nls[1],将nls中的第一个数据赋值给变量y0
y0=eval(nls[1])
#nls[2],将nls中的第二个数据赋值给变量x1
x1=eval(nls[2])
#nls[3],将nls中的第三个数据赋值给变量y1
y1=eval(nls[3])
#利用pow()函数计算两点间距离
r=pow(pow(x1-x0,2)+pow(y1-y0,2),0.5)
#打印数据;其中2f表示保留两位小数
print('{:.2f}'.format(r))
注:print('{:.2f}'.format(r))的意思是:用{:.2f}先占一个位置; .2f表示保留两位小数。