import math
from math import sqrt
Hailey=[0,4,1,4,0,0,4,1]
Verica=[3,0,0,5,4,2.5,3,0]
temp=[]
distance=0
x=0
for i in range(0,len(Hailey)):
if (Hailey[i]!=0 and Verica[i]!=0):
temp[x]=math.sqrt(abs(Hailey[i]**2) - abs(Verica[i]**2))
x=x+1
for i in range(0,len(temp)):
distance=distance+temp[i]
print("distance is",distance)
我試圖做一個程序,發現2人之間的歐幾里德距離。它似乎並沒有數學上的相關性,我得到這個:歐幾里德距離數學錯誤
distance=distance + math.sqrt(abs(Hailey[i]**2) - abs(Verica[i]**2))
ValueError: math domain error
海利= [0,4,1,4,0,0,4,1] **我不期而遇在複製/粘貼時刪除1位數 – IseNgaRt 2014-09-12 15:45:10
您的下一個錯誤將來自您無法通過分配給不存在的索引追加到列表的事實。擺脫'x'並使用'temp.append(math.sqrt(...))'。 – chepner 2014-09-12 15:49:59
旁註:'我在範圍內(0,len(temp)):'通常不是Pythonic最常用的方法。 – Teepeemm 2014-09-12 22:47:56