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

如图的程序中return缩进为什么与print一致,return后的move与print等则与if缩进相同?

def move(n, a, b, c):
    if n==1:
        print a,'-->',c
        return
    move(n-1,a,c,b)
    print a,'-->',c
    move(n-1, b, a, c)
move(4, 'A', 'B', 'C')


正在回答

3 回答

这个return是这个if语句包含的内容,所以要和print缩进意志,如果不一致,就会把这个return判断为是if外面的语句

0 回复 有任何疑惑可以回复我~
#1

章恒致 提问者

非常感谢!
2018-07-23 回复 有任何疑惑可以回复我~

因为是不同的代码块区域,第一个return表示的if语句结束接下来的move 是和if同级的

0 回复 有任何疑惑可以回复我~
#1

qq_画雨_2

也就是当n=1的时候是没有返回值的对吧,只向外界打印语句
2018-08-25 回复 有任何疑惑可以回复我~

你需要注意的是python语言由于没有大括号和分号,所以对缩进要求非常严格

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

如图的程序中return缩进为什么与print一致,return后的move与print等则与if缩进相同?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信