fbpx

Primer modulo, sección Ejercicios

  • Primer modulo, sección Ejercicios

    Posted by Diego on 30 enero, 2020 en 12:54 pm

    Hola, si me podrian ayudar a comprender mejor las estructuras de control de flujo (if, try/ except, while, for), ya sea con mas material dentro del curso para profundizar u otras fuentes, bueno en mi caso ya que no logre entender del todo los ejercicios puestos. 

    Por ejemplo, en la captura de abajo, en la parte del codigo que marque, cuando quite esa parte y corri el ciclo, se hizo un loop infinito, y no entendi el porque. Si alguien me puede explicar por favor.

    Se los agradeceria mucho.

    Uriel Enrique respondido 2 años, 3 meses 5 Miembros · 8 Respuestas
  • 8 Respuestas
  • Tattiana Pineda

    Miembro
    30 enero, 2020 en 1:00 pm

    Hola, fíjate que a mi también me dio problema ese y otros, solo si me das una hora que no tengo mi máquina a la mano te puedo enviar la solución que tengo.

    • Diego

      Miembro
      30 enero, 2020 en 2:36 pm

      Muy bien, muchas gracias!

  • Tattiana Pineda

    Miembro
    30 enero, 2020 en 1:03 pm

    Algunos tuve que ejecutarlos en consola ya que otros no me dejó en el otro programa opcional que se podría utilizar…

    • Diego

      Miembro
      30 enero, 2020 en 2:36 pm

      Que programa opcional utilizas?

  • Lucas Lucyk

    Moderador
    31 enero, 2020 en 7:51 pm

    Hola Diego! Es correcto que el loop sea infinito, dado a que la comprobación del while siempre será verdadera. Puedes pensarlo paso a paso de esta manera:

    1- Al llegar al ciclo while -línea 4- comprueba si la variable “tmp” es menor o igual a 50; lo cual es verdadero -en esta instancia, tmp vale 3 por su definición en la línea 1-. Por tal motivo, ingresa a ejecutar las sentencias dentro del ciclo -líneas 5 a 7-.
    2- Se imprime el valor de la variable “multiplos” -en esta instancia vale 3 por su definición en la línea 2-.
    3- Se incremente el valor de la variable “múltiplos” en 3, por lo que a partir de aquí, valdrá 6.
    4- Se incrementa también la variable “tmp” en 3, por lo que a partir de aquí, valdrá 6.
    5- Como no quedan sentencias que ejecutar en el ciclo while, se vuelve a la línea 4 para volver a comprobar si la variable “tmp” es menor o igual a 50; como es correcto se vuelve a ingresar al ciclo para ejecutar todas sus sentencias.
    6- Se vuelve a imprimir el valor de “multiplos” -valor 6- y luego se incrementan las variables “multiplos” y “tmp” en 3, por lo que ambas valdrán 9 a partir de aquí.
    7- Al no quedar más sentencias en el ciclo, se vuelve a comprobar si tmp es menor o igual a 50 y luego a ejecutar sus sentencias.
    8- Estos pasos se repiten hasta que “multiplos” y “tmp” llegan al valor 51, dado que al comprobar si “tmp” es menor o igual a 50 el resultado será falso y se finalizará el ciclo while.

    Comprendido esto, esta claro que si quitas la línea 7, el valor de “tmp” siempre será 3, por lo que la comprobación del while siempre será verdadera y se producirá un loop infinito.

    Espero te sea de ayuda!

    • Diego

      Miembro
      4 febrero, 2020 en 7:33 am

      Si me quedo mucho mas claro, gracias!

    • Raul Perez

      Miembro
      22 marzo, 2020 en 5:43 pm

      una consulta, en primer ejemplo ¿por qué cuando le agrego otro valor a la lista valores con el codigo valores = valores + [20], me muestra que se ha agregado el valor pero cuando ejecuto el comando tmp para ver si la suma aumenta, me sigue saliendo el mismo resultado?

      • Uriel Enrique

        Miembro
        22 marzo, 2020 en 6:00 pm

        Hola de nuevo jeje, lo que pasa es que en efecto se agrega el elemento a la lista, pero como tu ciclo esta antes de esa inserción python no se regresa a esa parte del código, es por eso que tmp no se modifica.

        No se si me di a entenderThinking

Start of Discussion
0 de 0 respuestas Junio 2018
Ahora