我需要计算中奖率的百分比,而我在使用ZeroDivisionError时遇到问题:当分母中有零时,浮点除零。我想将它视为一个例外,打印零并继续下一个数组。任何援助将不胜感激。
YearWinLose1 = '0'
YearWinLoseTotalHard2 = '0'
YearWinLoseTotalHard2 = float(YearWinLose1) + float(YearWinLose1)
YearWinLosePercent3 = float(YearWinLose1)/float(YearWinLoseTotalHard2)*100
if YearWinLoseTotalHard2 == 0:
YearWinLosePercent3 == 0
print YearWinLosePercent3
else:
print YearWinLosePercent3
答案 0 :(得分:4)
您可以使用try / except:
try:
YearWinLosePercent3 = float(YearWinLose1)/float(YearWinLoseTotalHard2)*100
except ZeroDivisionError:
print '0' #or whatever
编辑1:
为了纠正你所写的内容,请允许我发表一些意见。 通过这条线:
if YearWinLoseTotalHard2 == 0:
错误已在上一行中发生。如果你想使用if结构作为控制方法,你应该在if块中添加除法:
if YearWinLoseTotalHard2 != 0:
YearWinLosePercent3 = float(YearWinLose1)/float(YearWinLoseTotalHard2)*100
else:
print '0'
另外,你已经写了
YearWinLosePercent3 == 0
如果您尝试为变量赋值,则应该知道运算符为'=',而不是'=='。后者用于比较值。