为了账号安全,请及时绑定邮箱和手机立即绑定

关于return返回的疑问

关于return返回的疑问

MADAO7 2018-05-14 14:26:32
为什么最后会返回一个列表,因为route是空列表,最后返回route不应该是一个空列表吗? def go(doors, count = 0, route = []):     try:         if doors[count][0] == 1:#假设左边为通行             return [0] + go(doors, count+1) # 继续往下走         else:             return [1] + go(doors, count+1) # 右边通行,继续往下走     except:         return route # 没有新的门,则返回路线 doors = [(1,0),(0,1),(0,1),(1,0),(1,0)] print(go(doors)) [0, 1, 1, 0, 0]
查看完整描述

1 回答

已采纳
?
一撮学渣

TA贡献5条经验 获得超2个赞

try...except...

是用来处理错误的,如果try语句块内的代码出错,则会直接跳转至except语句块。

上面的代码,因为try语句块内的代码并没有出错,所以不会返回route,而是返回try内的结果。

如果在try内加上一句明显会报错的代码,如下:

num = 3 / 0

那么返回的就是route,一个空列表。

查看完整回答
1 反对 回复 2018-05-15
  • 1 回答
  • 0 关注
  • 815 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信