小编use*_*023的帖子

如何在python中测试if语句中的异常?

我想编写一个函数来报告来自另一个函数的不同结果,这些结果中有一些例外,但我无法将它们转换为if语句

例如:

如果f(x)引发一个ValueError,那么我的函数必须返回一个字符串'Value',如果f(x)引发一个TypeError,那么我的函数必须返回一个字符串'Type

但我不知道如何在Python中这样做.有人可以帮我吗.

我的代码是这样的: -

def reporter(f,x):    

    if f(x) is ValueError():
        return 'Value'
    elif f(x) is E2OddException():
        return  'E2Odd'
    elif f(x) is E2Exception("New Yorker"):
        return 'E2'
    elif f(x) is None:
        return 'no problem'
    else:
        return 'generic'
Run Code Online (Sandbox Code Playgroud)

python if-statement exception function

3
推荐指数
1
解决办法
2万
查看次数

在Python中计算树的深度

定义一个函数sum_to_deepest(root),该函数返回以root为根的树中从根到最深叶的键的总和.如果有两个最深的叶子,则返回较大的总和; 如果根是None,则返回0.

在这个问题中,您会发现帮助定义一个辅助函数,它返回最深叶子的深度和沿叶子路径的总和.

python tree depth

-4
推荐指数
1
解决办法
6750
查看次数

标签 统计

python ×2

depth ×1

exception ×1

function ×1

if-statement ×1

tree ×1