Python汉诺塔执行步骤详解,Pytho汉诺塔执行步骤详解
Python Hanota执行步骤的详细说明
工具/原材料Python方法/步骤1必须区分参与参数
否则,很容易混淆。
-1步读取2移动(3,& # 39;a & # 39,& # 39;b & # 39,& # 39;c & # 39)#执行功能
定义移动(n,x,y,z):传入的参数是移动(3,& # 39;a & # 39,& # 39;b & # 39,& # 39;c & # 39)
如果n==1: (n=3)条件不成立,将不会执行。
打印(x,& # 39;- >。& # 39;y)
否则:
①MOVE(n-1,x,z,y)参数变化->;传入的参数是move(2,& # 39;a & # 39,& # 39;c & # 39,& # 39;b & # 39)
移动(n,x,y,z)参数更改->。参数变化:n = 2x = & # 39;a & # 39y = & # 39c & # 39z = & # 39b & # 39
如果n==1: (n=2)条件不成立,将不会执行。
打印(x,& # 39;- >。& # 39;z)
否则:
移动(n-1,x,z,y)这里传递的参数是移动(1,& # 39;a & # 39,& # 39;b & # 39,& # 39;c & # 39)
移动(n,x,y,z)参数更改->。参数变化:n = 1 x = & # 39a & # 39y = & # 39b & # 39z = & # 39c & # 39
如果n==1: (n=1)如果条件满足,执行
打印(x,& # 39;- >。& # 39;z)输出一个-> C执行后,撤退
向下执行
移动(1,x,y,z)n = 2 x = & # 39;a & # 39y = & # 39c & # 39z = & # 39b & # 39
移动(n,x,y,z)参数更改->。这里传递的参数是move(1,& # 39;a & # 39,& # 39;c & # 39,& # 39;b & # 39)
如果n==1: (n=1)如果条件满足,执行
打印(x,& # 39;- >。& # 39;z)输出a-> B执行后,撤退
向下执行n = 2x = & # 39;a & # 39y = & # 39c & # 39z = & # 39b & # 39
移动(n-1,y,x,z)这里传递的参数是移动(1,& # 39;c & # 39,& # 39;a & # 39,& # 39;b & # 39)
移动(n,x,y,z)参数更改->。这里传递的参数是move(1,& # 39;c & # 39,& # 39;a & # 39,& # 39;b & # 39)
如果n == 1: n = 1条件成立,执行完成
打印(x,& # 39;- >。& # 39;z)输出c-> B执行后,撤退
②move(1,x,y,z)的参数为:n = 1x = & # 39;a & # 39y = & # 39b & # 39z = & # 39c & # 39输出a-> C③移动(n-1,y,x,z)这里传递的参数是移动(2,& # 39;b & # 39,& # 39;a & # 39,& # 39;c & # 39)
移动(n,x,y,z)参数更改->。参数变化:n = 2x = & # 39;b & # 39y = & # 39a & # 39z = & # 39c & # 39
如果n==1: (n=2)条件不成立,将不会执行。
打印(x,& # 39;- >。& # 39;z)
否则:
移动(n-1,x,z,y)参数更改->。这里传递的参数是move(1,& # 39;b & # 39,& # 39;c & # 39,& # 39;a & # 39)
移动(n,x,y,z)参数更改->。这里传递的参数是:n = 1x = & # 39;b & # 39y = & # 39c & # 39z = & # 39a & # 39
如果n==1: (n=1)如果条件满足,执行
打印(x,& # 39;- >。& # 39;z)输出b-> A执行后,撤退
向下执行
移动(1,x,y,z)n = 2 x = & # 39;b & # 39y = & # 39a & # 39z = & # 39c & # 39
移动(n,x,y,z)参数更改->。这里传递的参数是move(1,& # 39;b & # 39,& # 39;a & # 39,& # 39;c & # 39)
如果n==1: (n=1)如果条件满足,执行
打印(x,& # 39;- >。& # 39;z)输出b-> C执行后,撤退
向下执行n = 2x = & # 39;b & # 39y = & # 39a & # 39z = & # 39c & # 39
移动(n-1,y,x,z)参数更改->。这里传递的参数是move(1,& # 39;a & # 39,& # 39;b & # 39,& # 39;c & # 39)
移动(n,x,y,z)参数更改->。这里传递的参数是move(1,& # 39;a & # 39,& # 39;b & # 39,& # 39;c & # 39)
如果n == 1: n = 1条件成立,执行完成
打印(x,& # 39;- >。& # 39;z)输出一个-> C执行后,撤退
-2步读取3位汉诺塔函数
定义移动(n,x,y,z):
如果n==1:
打印(x,& # 39;- >。& # 39;z)
否则:
移动(n-1,x,z,y)#将第一个n-1板从x移动到y
移动(1,x,y,z)#将底部最后一块板从x移动到z
移动(n-1,y,x,z)#将y上的n-1个板移动到z
打印(移动(3,& # 39;a & # 39,& # 39;b & # 39,& # 39;c & # 39))
步骤读数4执行结果如图所示
-4步阅读结束笔记有助于表扬。投票!!!原作者:Mrceel