Skip to main content

How to Solve The Towers Of Hanoi in Python | Recursive programming

The tower of Hanoi is most popular and very interesting puzzle.Let me explain the puzzle first, there are three towers given let say X , Y , and Z. and No. of Discs are placed on that tower in descending order(Large Disc to Small) let say 3 Disc.Now in idle condition all disc are placed in Tower A with Descending order.Now your task is to place that Discs in to last tower Z as Descending order.

But The rules ,Which we have to take into account before moving a Discs Are:
  • (1) Only one disc may be moved at a time.
  • (2) Only top disc on any Peg may be moved to any other Peg.
  • (3) A larger disc can not be placed on a smaller one.

Python Program to Solve The Tower of Hanoi :


This is the Example of Recursive programming in python with Function calling.
n = int(raw_input("Enter no of Disc to solve Tower\n >"))

def hanoi_tower(peg1, peg2, peg3, n):
    if n <= 0:
     print "Dont be over smart"
     return
    if n == 1:
     print "Move disc from %s to %s" % (peg1, peg3)
    else:
     hanoi_tower(peg1, peg3, peg2,n-1)
     hanoi_tower(peg1, peg2, peg3,1)
     hanoi_tower(peg2, peg1, peg3,n-1)

print hanoi_tower('x', 'y', 'z', n)

After Execution OutPut should be :

Enter no of Disc to solve Tower
>4
Move disc from x to y
Move disc from x to z
Move disc from y to z
Move disc from x to y
Move disc from z to x
Move disc from z to y
Move disc from x to y
Move disc from x to z
Move disc from y to z
Move disc from y to x
Move disc from z to x
Move disc from y to z
Move disc from x to y
Move disc from x to z
Move disc from y to z
None

Manual Solution for  Towers Of Hanoi With 4 Discs will Graphically Look like this:

Source

Search:
Python program for solve Solve The Towers Of Hanoi
How to solve Solve The Towers Of Hanoi with python programming.

Comments