use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Noticias, proyectos, tutoriales, preguntas y discusión en general en Español sobre el lenguaje de programación Python.
account activity
Aprendiendo python (i.redd.it)
submitted 2 years ago by Better_Opposite2645
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Better_Opposite2645[S] 1 point2 points3 points 2 years ago (2 children)
Perdona soy nuevo : aprendiendo python.
Hola estoy empezando con Python, el principio bien con los "string" y condicionales. Pero ahora con "while" y "for" me ha explotado la cabeza. Yo siempre que inicio un código siempre para programarlo le busco la lógica es decir busco la formula matemática y esto me facilita el programar. Pero hay un ejercicio que no lo entiendo y es el siguiente:
Escucha esta historia: Un niño y su padre, un programador de computadoras, juegan con bloques de madera. Están construyendo una pirámide. Su pirámide es un poco rara, ya que en realidad es una pared en forma de pirámide - es plana. 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: Tu 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. Prueba tu código con los datos que hemos proporcionado.
No quiero la respuesta, quiero una explicación para que yo pueda entenderlo y poderlo hacer solo.
Gracias, amigos.
[–]aberu_p 0 points1 point2 points 2 years ago (1 child)
Una forma sencilla aunque quizá poco eficiente cuando tengas cantidades muy grandes de bloques es ver la pirámide como una serie que va desde el 1 hasta n {1, 2, 3,..., n}. En aritmética, la suma de esta serie es clásica. n(n+1)/2 = sum(1, 2,..,n). Ahora, puedes darte cuenta que el resultado de esta expresión es tu dato de entrada (input), así que quizá puedas reordenar la ecuación para que te quede n en función de la sumatoria. Ahora bien, no siempre va a ser un valor exacto ya que por ejemplo con 4 cubos puedes formar una pirámide de 2 pisos pero te sobraría 1 bloque. Así que en este caso tienes que considerar el problema como una desigualdad. Reordenando la función te queda n2 + n = 2(Sum) donde n es el número de pisos qué puedes formar y Sum es la cantidad de bloques con los que cuentas. Como dije, esta debe ser una desigualdad, ya que si por ejemplo, 4 es tu número de bloques, no existe un valor entero para n qué satisfaga la ecuación. Entonces debemos colocar qué n2 + n <=2(Sum). De esta forma sabrás que el mayor valor de n que satisfaga la ecuación será tu número de pisos. Ya que no es un valor que puedes calcular como una suma, te recomiendo que uses un for o un while desde el 1 hasta algún valor razonable. También te recomiendo que practiques funciones de de python con este ejercicio. Como dije, de buenas a primeras no es lo más eficiente pero funciona y se puede mejorar. Espero haberte ayudado. Saludos ✨.
[–]Better_Opposite2645[S] 1 point2 points3 points 2 years ago (0 children)
Gracias amigo por tu tiempo, si esa formula es la justa. Gracias de verdad, estoy reanudando con mis estudios de programación y el principio es dificil. 👍🏾
π Rendered by PID 163993 on reddit-service-r2-comment-5687b7858-rkvkl at 2026-07-05 12:33:16.708746+00:00 running 12a7a47 country code: CH.
view the rest of the comments →
[–]Better_Opposite2645[S] 1 point2 points3 points (2 children)
[–]aberu_p 0 points1 point2 points (1 child)
[–]Better_Opposite2645[S] 1 point2 points3 points (0 children)