Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
celsorv authored Nov 9, 2020
0 parents commit 51bd645
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions torre_hanoi.py
Original file line number Diff line number Diff line change
@@ -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)

0 comments on commit 51bd645

Please sign in to comment.