From 51bd645edfdbc73c19a285f05c1e5381d36c9b82 Mon Sep 17 00:00:00 2001 From: celsorv <73009024+celsorv@users.noreply.github.com> Date: Mon, 9 Nov 2020 04:49:23 -0300 Subject: [PATCH] Add files via upload --- torre_hanoi.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 torre_hanoi.py diff --git a/torre_hanoi.py b/torre_hanoi.py new file mode 100644 index 0000000..08f49d5 --- /dev/null +++ b/torre_hanoi.py @@ -0,0 +1,31 @@ +# +# Algoritmo de resolução da Torre de Hanoi +# + +def mover(discos, origem = 'Torre 1', destino = 'Torre 2', auxiliar = 'Torre 3', movimentos = []): + + if discos == 1: + movimentos.append('Mova da ' + origem + ' para a ' + destino) + return movimentos + + mover(discos - 1, origem, auxiliar, destino, movimentos) + movimentos.append('Mova da ' + origem + ' para a ' + destino) + + mover(discos - 1, auxiliar, destino, origem, movimentos) + + return movimentos + +# main + +n = int(input('\nQual o número de discos? ')) +movimentos = mover(n) + +print('\nExecução em', len(movimentos), 'movimentos') +print('-'*64) + +for acao in movimentos: + resposta = input(acao + '.' + ' '*10 + 'ENTER=Seguir, P=Parar ') + if resposta == 'P' or resposta == 'p': + break + +print('-'*64)