我有一个功能正在尝试调整,以避免使用ZeroDivisionError
。我尝试过的两种方法还没有解决,我正在寻找任何帮助。
我已经尝试将以下内容添加到我的代码中:
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]的列表。
答案 0 :(得分:2)
如果您希望除以零的结果为零,请设置为:
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]
答案 1 :(得分:0)
您可以将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_divide
功能可以跳过。