- Pido por teclado un conjunto de números separados por espacios, específicamente 5, por ejemplo:
Código:
1 5 4 3 2
- Esos números representan una torre, siendo el primer número introducido que está más abajo y el último el que está más arriba, así:
Código:
2
3
4
5
1
- Después pido que introduzcan "movimientos" (otro conjunto de números separados por espacios), específicamente 3 números, ejemplo:
Código:
2 3 2
- Estos números representan los movimientos que se han hecho sobre la torre. El primer movimiento da la vuelta a las 2 primeras tortitas, sobre la torre resultante se da la vuelta a las 3 primeras tortitas y sobre la torre resultante se da la vuelta a las 2 primeras. A continuación hago una demostración, la primera torre es la original que puse antes, y las demás son aplicando los movimientos (la segunda torre con el movimiento 2, la tercera torre con el movimiento 3 y la cuarta torre con el movimiento 2):
Código:
2 3 4 2
3 2 2 4
4 -> 4 -> 3 -> 3
5 5 5 5
1 1 1 1
- Por último, cuando se hayan realizado todos los movimientos, se devuelve el valor que se encuentre arriba de la torre. En el ejemplo que he puesto la salida sería:
Código:
2
Esto es lo que he hecho:
Código:
print("Introduzca la posición de los cinco números:")
num1, num2, num3, num4, num5 = input().split()
numeros = [num5, num4, num3, num2, num1]
numero = []
x = list(map(int, input("Introduzca los movimientos que va a realizar: ").split()))
for z in range(len(x)):
for y in range(x[z]):
numero.append(numeros[y])
numero.reverse()
for y in range(len(numero)):
numeros[y] = numero[y]
numero.clear()
for p in range(len(numeros)):
print(numeros[p])
print("El número que se encuentra en la cima de la torre es el: " + numeros[0])El programa funciona perfectamente, me muestra la torre final con los movimientos aplicados y el número que está arriba de la torre, pero al parecer me han dicho que debería haber hecho todo con arrays y que eso está mal, pero que yo sepa lo he hecho con un array, ¿no? ¿Hay alguna otra forma con arrays de hacer esto?
Muchas gracias por adelantado.





Autor


En línea


