我想编写一个函数来报告来自另一个函数的不同结果,这些结果中有一些例外,但我无法将它们转换为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) 定义一个函数sum_to_deepest(root),该函数返回以root为根的树中从根到最深叶的键的总和.如果有两个最深的叶子,则返回较大的总和; 如果根是None,则返回0.
在这个问题中,您会发现帮助定义一个辅助函数,它返回最深叶子的深度和沿叶子路径的总和.