def fancy_divide(numbers, index):
try:
denom = numbers[index]
for i in range(len(numbers)):
numbers[i] /= denom
except IndexError:
fancy_divide(numbers, len(numbers) - 1)
except ZeroDivisionError:
print("-2")
else:
print("1")
finally:
print("0")
fancy_divide([0, 2, 4], 4)
结果是1 0 0
,1 0
我理解,但为什么最后还有个 0 呢?finally
被执行两次?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.