Python汉诺塔执行步骤详解

时间: 2020-06-05 19:56 浏览次数:

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))

Python汉诺塔执行步骤详解步骤读数4执行结果如图所示

-4步阅读结束笔记有助于表扬。投票!!!原作者:Mrceel