Python 除以零

Python getting division by zero

我尝试计算百分比,并显示除以零的错误浮点数,这是我的代码

    d4 = float(self.qty_normal)+float(self.qty_abnormal)
    d3 = float(self.qty_normal)+float(self.qty_recoveryabn)
    if self.flag_recovery == False:
        if self.qty_abnormal and self.qty_normal:
            pnormal =(self.qty_normal)/float(d3)*(100.00)
            pabnormal =(self.qty_abnormal)/float(d3)*(100.00)
            self.nursery_persentagea = pabnormal
            self.nursery_persentagen = pnormal
    if self.flag_recovery == True:
        if self.qty_recoveryabn and self.qty_normal:
            pnormal =(self.qty_normal)/float(d3)*(100.00)
            pabnormal =(self.qty_recoveryabn)/float(d3)*(100.00)
            self.nursery_persentagea = pabnormal
            self.nursery_persentagen = pnormal

帮我解决这个问题

您有几个具有相同分母的表达式 - d3。赋值后查看其值:

 d3 = float(self.qty_normal)+float(self.qty_recoveryabn)

它不能为零,否则这个表达式将无法计算:

pnormal =(self.qty_normal)/float(d3)*(100.00)

pnormal =(self.qty_normal)/float(d3)*(100.00)

(取决于 flag_recovery 等)