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

如果要记录移动的次数,怎么弄?

如果要记录移动的次数,怎么弄?

正在回答

3 回答

## 来, 我用最原始的方法做一个, 也玩玩 Python 的作用域。
i=[]
def move(n, a, b, c):
    i.append(1)
    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')
print len(i)


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

阿兽酱 提问者

非常感谢!摸摸哒,萌新需要热心人
2016-04-25 回复 有任何疑惑可以回复我~
#2

Despicableme01

不太懂,i是在函数作用域外面?然后函数内调用全局的?为什么不报i未定义?
2016-05-07 回复 有任何疑惑可以回复我~
#3

清波 回复 Despicableme01

可以放心的去调用全局, 而调用函数外部但是非全局变量的时候 就是闭包了。
2016-05-07 回复 有任何疑惑可以回复我~

i=0

def move(n, a, b, c):

    global i

   i=i+1

   if n ==1:

        print (a, '-->', c)

        return

   else:

        move(n-1, a, c, b)

        print (a, '-->', c)

        move(n-1, b, a, c)

move(2, 'A', 'B', 'C')

print(i)

更简单

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

在函数的开始定义一个变量,每次操作自增1

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

阿兽酱 提问者

那这样每次调用函数,变量岂不是都会被初始化? 要不你根据参考代码改改来一段?
2016-04-25 回复 有任何疑惑可以回复我~
#2

hellohi 回复 阿兽酱 提问者

全局变量。
2016-11-12 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

如果要记录移动的次数,怎么弄?

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