用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表示保留兩位小數。