Python 避免函数内部出现零错误
为了避免出现Python 避免函数内部出现零错误,python,python-3.x,function,exception,Python,Python 3.x,Function,Exception,为了避免出现zerodivision错误,我正在尝试调整一个函数。我尝试过的两种方法都没有奏效,我正在寻求任何帮助 我已尝试将以下内容添加到我的代码中: try: try: raise Exception("0") 然而,这是行不通的,我不知道我还能补充什么 def complexDivide(list_of_numbers, index): denom = list_of_numbers[index] return [easyDivide(item, denom) for
zerodivision错误
,我正在尝试调整一个函数。我尝试过的两种方法都没有奏效,我正在寻求任何帮助
我已尝试将以下内容添加到我的代码中:
try:
try:
raise Exception("0")
然而,这是行不通的,我不知道我还能补充什么
def complexDivide(list_of_numbers, index):
denom = list_of_numbers[index]
return [easyDivide(item, denom) for item in
list_of_numbers]
def easyDivide(item, denom):
return item / denom
complexDivide ([0, 2, 4], 0)
我们的目标是在调用complexDivide时向代码中添加一些内容,以给出[0,0,0]的列表。如果您希望被零除的结果为零,请这样做:
def easyDivide(item, denom):
return 0 if denom == 0 else item / denom
在complexDivide
而不是easyDivide
中进行一次决策可能会更快:
def complexDivide(list_of_numbers, index):
denom = list_of_numbers[index]
if denom == 0:
return [0] * len(list_of_numbers)
return [easyDivide(item, denom) for item in
list_of_numbers]
您可以将
complex_divide
函数修改为:
def complex_divide(list_of_numbers, index):
denominator = list_of_numbers[index]
if denominator != 0:
return [item / denominator for item in list_of_numbers]
return [0 for _ in list_of_numbers]
easy\u divide
功能可以跳过。当你除以零时,计算机怎么知道你想要什么值?零除法在普通数学中没有定义。如果您想在除以零时返回一个值,您必须自己实现。非常感谢您的帮助。代码在更改时可以工作,但我仍然没有得到[0,0,0]的列表,这是我的最终目标。我在最初的代码中是否遗漏了一些可能会导致这种情况的东西?我给出了两种选择。选择一个或另一个。这两个选项都不是必需的。下面的链接显示这两个选项的行为完全符合您的要求:如果您没有得到您想要的,请指出您得到的是什么。@AshutoshMishra不要滥用正常事件的异常。