# 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.