def hanoi(n,x,y,z): if n == 1: print(x,'-->',c) else: hanoi(n-1,x,z,y)
# Before n- A plate from x Move to y upper hanoi(1,x,y,z) # Will be the first n A plate from x Move to z upper hanoi(n-1,y,x,z)
# take y Upper n-1 A plate from y Move to z upper n = int(input(' Please enter the number of floors of Hanoi Tower :')) hanoi = (n,'x','y','z')
study Python Practical difficulties encountered in , Hanoi Tower program , I hope it will be helpful to you ,

The details are as follows :

It was defined when I first encountered difficulties hanoi() During function call ,x,y,z I can't understand the order of , In fact, another idea ,

No matter how you move , Can be divided into three columns , Starting column , Auxiliary column , Target column

First step : take n-1 A plate from x Move to y                       The reality is :x Is the starting column ,z Auxiliary column ,y Target column

Step two : Will be the first n A plate from x Move to z                     The reality is :x Is the starting column ,y Auxiliary column ,z Target column

Step 3 : Will be in y Column n-1 A plate from y Move to z       The reality is :y Is the starting column ,x Auxiliary column ,z Target column

Therefore, the call result is :

haooi  (n-1,x,z,y)

hanoi  (1,x,y,z)

hanoi  (n-1,y,x,z)

I hope it will be helpful to you !!! Get more benefits below !

 

 

Technology
©2019-2020 Toolsou All rights reserved,
C++ of string of compare usage MySQL Basics Commonly used sentence ( Add / delete / modify query )C Language of a Gobang game implementation QT5.9 Use of learning notes QSqlQuery Method of Qt Getting Started tutorial 【 Basic controls 】QCalendarWidget calendar control java Polymorphic array of web Front end signature plug-in _signature_pad Plug in implements electronic signature function centos7 install RabbitMqspringboot use redis Experiment 4 Automated test tools - software test