我的代碼是下一個爲什麼顯示不支持的操作數類型(S) - :「元組」和「浮動」
data_temp = [(atributos[0],atributos[1],atributos[2],atributos[3],atributos[4],atributos[5],atributos[6],atributos[7],atributos[8],atributos[9],atributos[10],atributos[11],atributos[12],atributos[13])]
lectura = csv.reader(open("Dataset.csv","r"))
dis = [] #creamos una lista vacia para almacenar las distancias de cada instancia
for index,row in enumerate(lectura):
dato2 = [float(row[0]), float(row[1]),float(row[2]), float(row[3]),float(row[4]),float(row[5]),float(row[6]),float(row[7]),float(row[8]),int(row[9]),int(row[10]),int(row[11]),int(row[12]),int(row[13])]
d = calcular_distancia(data_temp,dato2)
,誤差
def calcular_distancia(d1,d2):
distancia = ((d1[0]-d2[0])**2+(d1[1]-d2[1])**2+(d1[2]-d2[2])**2+(d1[3]-d2[3])**2+(d1[4]-d2[4])**2+(d1[5]-d2[5])**2+(d1[6]-d2[6])**2+(d1[7]-d2[7])**2+(d1[8]-d2[8])**2+(d1[9]-d2[9])**2+(d1[10]-d2[10])**2+(d1[11]-d2[11])**2+(d1[12]-d2[12])**2+(d1[13]-d2[13])**2)
return math.sqrt(distancia)
與
完成計劃distancia = ((d1[0]-d2[0])**2+(d1[1]-d2[1])**2+(d1[2]-d2[2])**2+(d1[3]-d2[3])**2+(d1[4]-d2[4])**2+(d1[5]-d2[5])**2+(d1[6]-d2[6])**2+(d1[7]-d2[7])**2+(d1[8]-d2[8])**2+(d1[9]-d2[9])**2+(d1[10]-d2[10])**2+(d1[11]-d2[11])**2+(d1[12]-d2[12])**2+(d1[13]-d2[13])**2)
TypeError: unsupported operand type(s) for -: 'tuple' and 'float'
尋求調試幫助的問題(「爲什麼這個代碼不工作?」)必須包含所需的行爲,特定的問題或錯誤以及在問題本身中重現它所需的最短代碼。沒有明確問題陳述的問題對其他讀者無益。請參閱:如何創建最小,完整和可驗證示例。 – IanAuld
這與[tag:c]有什麼關係?另外,我們需要一個[MCVE]。 –
歡迎來到StackOverflow。請閱讀並遵守幫助文檔中的發佈準則。 [最小,完整,可驗證的示例](http://stackoverflow.com/help/mcve)適用於此處。在您發佈代碼並準確描述問題之前,我們無法有效幫助您。 – Prune