问题遇到的现象和发生背景
运算这个公式的时候出现了"被除数不能是0"的错误,但是我把其中的每一项输出发现并没有等于0的项,这是怎么回事呢?
问题相关代码,请勿粘贴截图
Second_Dist_g1g2 = (1 / abs((len(code_dict1) & len(code_dict2)))) * sum_minus3 / max(minus3)
print('2Dist_0' + str(j) + '0' + str(i) + '0' + str(j) + '0' + str(i + 1) + '=', Second_Dist_g1g2)
运行结果及报错内容
结果:
minus3= [0.0, 0.0, 0.0, 0.7801857590000001, 0.0, 0.018371399999999996, 0.0, 1.0, 0.5, 0.0, 1.375, 0.0, 0.625, 0.0, 0.0, 0.0, 0.0, 1.1886792449999999, 0.022343594, 0.0, 0.0, 0.666666667, 0.3712647820000001, 0.5, 1.5, 0.555555556, 0.0, 0.0, 2.461538462, 1.538461538, 0.222222222, 0.0, 0.0, 0.0, 0.42899702100000003, 0.21981424099999997, 0.9116809109999999, 0.0, 0.0, 0.625, 0.0, 0.0, 0.0, 1.444444444, 0.015646571000000012, 0.0, 1.0, 0.222222222, 0.09686609599999996, 0.0, 0.12222222199999999, 0.0, 0.0, 0.666666667, 0.21932833799999996, 0.0, 0.0, 0.7777777779999999, 0.0, 0.0, 0.166666667, 0.222222222, 0.17777777799999983, 0.0, 0.0, 0.0]
sum_minus3= 20.642622403
len(code_dict1)= 49
len(code_dict2)= 66
报错:
ZeroDivisionError: division by zero