Design an algorithm in python to solve the Towers of Hanoi puzzle.
Number of discs: 3
def hanoi(discs, start, temp, end):
    if discs > 0:
        hanoi(discs - 1, start, end, temp)
        end.append(start.pop())
        hanoi(discs - 1, temp, start, end)