Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- N_Discs = 5
- N_Towers = 3
- #Suponiendo que los discos se guardan en la lista de mayor a menor.
- #Suponiendo que una posición vacía es un 0 en la lista. EmptyTower=[0,0,0,0,0]
- Tower1=[3,2,1,0,0]
- Tower2=[5,4,3,2,1]
- Tower3=[3,2,1,0,0]
- def Board(N_Discs,N_Towers,Tower1,Tower2,Tower3):
- Position=-1
- for k in range(N_Discs):
- Position+=1
- for j in range(N_Towers): #Imprimimos las tres torres simultáneamente, línea por línea.
- #Elegimos la torre de la que extraemos sus elementos.
- if j==0:
- Tower=Tower1[::-1]
- elif j==1:
- Tower=Tower2[::-1]
- elif j==2:
- Tower=Tower3[::-1]
- Disc=Tower[Position]
- #Imprimimos una fila de una torre.
- for i in range(5-Disc): #Haremos la cantidad de puntos dejando espacio a los "#"
- print(".",end="") #Primera mitad de puntos.
- for n in range(Disc): #Imprimimos la cantidad necesaria de "#"
- print("#",end="")
- print("|",end="") #División central en la torre.
- for n in range(Disc): #Empezamos con los "#", dejando espacio para los "."
- print("#",end="")
- for i in range(5-Disc):
- print(".",end="") #Segunda mitad de puntos.
- print(end=" ") #Separación entre torres.
- print("\n",end="") #Saltamos de línea y escribimos en ella.
- if k==N_Discs-1: #Si hemos imprimido la última línea:
- print(" Tower 1 Tower 2 Tower 3")
- Board(N_Discs,N_Towers,Tower1,Tower2,Tower3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement