亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何修復“ZeroDivisionError:浮點除以零”

如何修復“ZeroDivisionError:浮點除以零”

江戶川亂折騰 2021-10-10 13:36:28
我有calcularBeta1辦法。當我運行該程序時,出現此錯誤:ZeroDivisionError:浮點除以零 resultadoB1 = (sumaXY - ((sumaX * sumaY ) / totalElementos )) / (sumaXCuadrada - math.pow(sumaX, 2) / totalElementos)方法calcularBeta1def calcularBeta1(self, lista):    actual = lista.nodoInicio    sumaXY = 0    sumaX = 0    sumaY = 0    sumaXCuadrada = 0    totalElementos = 0    while actual != None:        dato1 = actual.dato1        dato2 = actual.dato2        sumaXY += dato1 * dato2        sumaX += dato1        sumaY += dato2        sumaXCuadrada += math.pow(dato1, 2)        totalElementos += 1        actual = actual.siguienteNodo    resultadoB1 = (sumaXY - ((sumaX * sumaY ) / totalElementos )) / (sumaXCuadrada - math.pow(sumaX, 2) / totalElementos)    return resultadoB1講座檔案類class LecturaArchivo:   datosArchivo = ListaEnlazada()   operaciones = Operaciones()   xTemporal = 0   yTemporal = 0   nombreArchivo = input('Nombre del archivo: ')   archivo = open(nombreArchivo, "r")   lineas = archivo.read()   datos = lineas.split(',')   datoProxy = float(input('Proxy: '))   while lineas:      lineas = archivo.readlines()      xTemporal = datos[0]      yTemporal = datos[1]      datosArchivo.agregarNodoFinal(float(xTemporal), float(yTemporal))  print(datos)  sumaElementos = sum(datosArchivo.obtenerNodos())  mediaElementos = operaciones.media(sumaElementos, datosArchivo.tamano())  beta1 = operaciones.calcularBeta1(datosArchivo)  print('Beta1: ', beta1)  beta0 = operaciones.calcularBeta0(beta1, media)  print('Beta0: ', beta0)  yk = operaciones.calcularYK(beta0, beta1, datoProxy)  print('Regresión Líneal: ', yk)
查看完整描述

3 回答

?
LEATH

TA貢獻1936條經驗 獲得超7個贊

ZeroDivisionError當您嘗試將一個數字除以 0 時會發生這種情況,正如您所知,這在數學上是不可能的,只需更改被除數的值即可。


查看完整回答
反對 回復 2021-10-10
?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

Python 無法將數字除以 0。如果您嘗試除以 0,python 會拋出一個ZeroDivisionError,這就是您遇到的情況。修復它的最佳方法是不除以零。您可以使用if語句來確保值不為零。


查看完整回答
反對 回復 2021-10-10
?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

不要除以零。

在它抱怨的表達中

resultadoB1 = (sumaXY - ((sumaX * sumaY ) / totalElementos )) / (sumaXCuadrada - math.pow(sumaX, 2) / totalElementos)

要么要么totalElementos結果sumaXCuadrada - math.pow(sumaX, 2)為零。

在嘗試計算該公式之前,您需要添加代碼來處理這些情況的可能性。


查看完整回答
反對 回復 2021-10-10
  • 3 回答
  • 0 關注
  • 342 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號