Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 避免函数内部出现零错误_Python_Python 3.x_Function_Exception - Fatal编程技术网

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不要滥用正常事件的异常。