Python - Ciclo while: Calcular la altura de una pirámide

 
Vista:
sin imagen de perfil
Val: 20
Ha aumentado su posición en 80 puestos en Python (en relación al último mes)
Gráfica de Python

Ciclo while: Calcular la altura de una pirámide

Publicado por Alexander (5 intervenciones) el 20/08/2020 02:52:23
Escenario

La pirámide se apila de acuerdo con un principio simple: cada capa inferior contiene un bloque más que la capa superior.
La figura ilustra la regla utilizada por los constructores:

Piramide

La tarea es escribir un programa que lea la cantidad de bloques que tienen los constructores, y generar la altura de la pirámide que se puede construir utilizando estos bloques.

Nota: La altura se mide por el número de capas completas: si los constructores no tienen la cantidad suficiente de bloques y no pueden completar la siguiente capa, terminan su trabajo inmediatamente.

Encontré este código pero no se muy bien como funciona * blocks -= inlayer* ...

1
2
3
4
5
6
7
8
9
10
11
12
13
blocks = int(input("Enter the number of blocks: "))
 
height = 0
 
inlayer = 1
 
while inlayer <= blocks:
 
    height += 1
    blocks -= inlayer       #Esta línea de código funciona distinto a la de arriba y abajo?
    inlayer += 1
 
print("The height of the pyramid: ", height)


Alguien podría explicarme como funciona este código? Se agradece de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de algoritmo
Val: 612
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Ciclo while: Calcular la altura de una pirámide

Publicado por algoritmo (166 intervenciones) el 20/08/2020 13:02:03
Hola.

Espero que te sirva :)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
bloques = int(input("Introduzca el número de bloques disponibles: "))
 
altura = 0
 
utilizados = 0
por_fila = 1
 
while True:
    utilizados += por_fila
    if utilizados > bloques:
        break
 
    altura += 1
    por_fila += 1
 
 
print("La altura de la pirámide es de: ", altura)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar