Autor
|
Tema: Python: Pirámide digital. (Leído 3,219 veces)
|
xSyrax122
Desconectado
Mensajes: 2
|
Hola, buenas, alguien me ayudaría a entender este código y la lógica detrás de él?
def pyramid(n): nums = ''.join(str(i+1) + ' ' for i in range(n))
for i in range(n): blank = ' ' * 2 * (n-i-1)
prefix = nums[:2*i] postfix = prefix[::-1]
print(f'{blank}{prefix}{i+1}{postfix}')
pyramid(9)
Salida del programa: 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1 1 2 3 4 5 6 5 4 3 2 1 1 2 3 4 5 6 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1
|
|
|
En línea
|
|
|
|
LlopoRobot
Desconectado
Mensajes: 116
Un instante, una mente al unísono
|
Este código genera una pirámide digital en la que cada fila muestra los números del 1 al n, donde n es el número de filas de la pirámide.
Para ello, primero se genera una cadena de caracteres llamada nums, que contiene los números del 1 al n separados por un espacio y con un espacio adicional al final. Esto se hace usando una comprensión de lista que recorre los números del 1 al n y agrega cada número y un espacio a una cadena de salida. Luego, en un bucle for que también recorre los números del 1 al n, se genera una cadena blank de espacios en blanco que se coloca en el lado izquierdo de la fila de la pirámide para asegurarse de que la pirámide esté centrada.
Luego se crea una cadena prefix que contiene los primeros 2 * i caracteres de nums y una cadena postfix que contiene prefix en orden inverso. El número actual de la fila de la pirámide se agrega entre estas dos cadenas. Finalmente, se imprime la fila de la pirámide con una cadena blank al principio, seguida de prefix, el número actual y postfix.
Al aumentar el valor de n en el llamado a la función pyramid(), se puede generar una pirámide digital más grande o más pequeña.
|
|
|
En línea
|
I'm woman baby. Can't you tell?
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Código] Calcular volumen de un cono o una pirámide [Python]
Scripting
|
@Sthéfano
|
0
|
11,245
|
26 Julio 2010, 22:29 pm
por @Sthéfano
|
|
|
Una pirámide de codicia
Noticias
|
wolfbcn
|
0
|
1,507
|
6 Julio 2014, 22:21 pm
por wolfbcn
|
|
|
PIRAMIDE
Programación C/C++
|
mariano96
|
4
|
4,247
|
13 Febrero 2015, 19:10 pm
por mariano96
|
|
|
[AYUDA] piramide en c++?
« 1 2 »
Programación C/C++
|
ianmorar03
|
12
|
12,768
|
20 Abril 2016, 23:08 pm
por ivancea96
|
|
|
Piramide de Numeros -> C++
Programación C/C++
|
Joseph CM
|
1
|
5,918
|
29 Enero 2021, 21:16 pm
por K-YreX
|
|