PythonZeroDivisionError:浮点除以零-如何将其视为异常

PythonZeroDivisionError:浮点除以零-如何将其视为异常,python,Python,我需要计算中奖率的百分比,但我遇到了ZeroDivision错误的问题:当分母为零时,浮点除以零。我想把它当作一个例外,打印零,然后转到下一个数组。任何协助都将不胜感激 YearWinLose1 = '0' YearWinLoseTotalHard2 = '0' YearWinLoseTotalHard2 = float(YearWinLose1) + float(YearWinLose1) YearWinLosePercent3 = float(YearWinLose1)/float(Yea

我需要计算中奖率的百分比,但我遇到了ZeroDivision错误的问题:当分母为零时,浮点除以零。我想把它当作一个例外,打印零,然后转到下一个数组。任何协助都将不胜感激

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

您可以使用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

如果试图为变量赋值,则应该知道运算符是“=”而不是“=”。后者是用来比较价值的。

为什么这有两个赞成票?如果回答了你的问题,请考虑把它标记为正确的。