Hola, tengo esta duda def run(): for i in range(1000): print(i) i+=2 if i == 308: break if <strong>name</strong> == “<strong>main</strong...

Juan Carlos Betancur Parra

Juan Carlos Betancur Parra

Pregunta
studenthace 4 años

Hola, tengo esta duda

def run():

for i in range(1000):

print(i)

i+=2

if i == 308:

break

if name == “main”:

run()

quiero incrementar el valor de i en 2 en cada vuelta del ciclo pero no se si es el FOR o el RANGE el que no permite el incremento. Estoy haciendo mal o no se permite?

4 respuestas
para escribir tu comentario
    Clayton Jhordan Iliquin Zavaleta

    Clayton Jhordan Iliquin Zavaleta

    studenthace 4 años

    Hola :D, en efecto el problema es por el for, además pusiste el contador despues de mostrar el resultado. Si corregimos el sumador:

    def run(): for i in range(1000): i+=2 print(i) if i == 308: break if __name__ == '__main__': run()

    El resultado que nos daría sería:

    2 3 4 5 6 7 8 9 10 11 12 ...

    podemos ver que lo que esta haciendo es extraer los valores del rango de 0 a 999 y les suma dos. Si quieres avanzar de dos en dos sigue el consejo de los compañeros y hace lo siguiente:

    for i in range(0:1000:2)
    Clayton Jhordan Iliquin Zavaleta

    Clayton Jhordan Iliquin Zavaleta

    studenthace 4 años

    Hola :D, en efecto el problema es por el for, además pusiste el contador despues de mostrar el resultado. Si corregimos el sumador:

    def run(): for i in range(1000): i+=2 print(i) if i == 308: break if __name__ == '__main__': run()

    El resultado que nos daría sería:

    2 3 4 5 6 7 8 9 10 11 12 ...

    podemos ver que lo que esta haciendo es extraer los valores del rango de 0 a 999 y les suma dos. Si quieres avanzar de dos en dos sigue el consejo de los compañeros y hace lo siguiente:

    for i in range(0:1000:2)
    Carlos Daniel Dávila Maldonado

    Carlos Daniel Dávila Maldonado

    studenthace 4 años

    Hola @Jcbetancur Para esos casos existe while Mientras i < 308 i+=2 Es mucho más corto y sencillo

    x=1 while x < 308: x += 2 print(x)

    Espero te sirva, feliz día

    Daniel Adolfo Ordoñez Rubio

    Daniel Adolfo Ordoñez Rubio

    studenthace 4 años

    Hola, Juan :) Puedes hacerlo con la misma función range que estás usando, pero con más parámetros. Si solo le mandas un parámetros, lo toma como stop (de 0 hasta stop), si le mandas dos, lo toma como start y stop (desde start hasta stop), y si le mandas tres parámetros, el tercero es step, la cantidad que se incrementa en cada paso.

    $start = 0 $stop = 1000 $step = 2 # incremento por 2 for i in range(start, stop, step):

    Te dejo la documentación por si quieres verla a fondo ;) ¡Nunca pares de aprender! 💚

Curso Básico de Python [Empieza Gratis]

Curso Básico de Python [Empieza Gratis]

Aprende a programar desde cero con el lenguaje de mayor crecimiento en el planeta: Python. Descubre qué es un algoritmo y cómo se construye uno. Domina las variables, funciones, estructuras de datos, los condicionales y ciclos.

Curso Básico de Python [Empieza Gratis]
Curso Básico de Python [Empieza Gratis]

Curso Básico de Python [Empieza Gratis]

Aprende a programar desde cero con el lenguaje de mayor crecimiento en el planeta: Python. Descubre qué es un algoritmo y cómo se construye uno. Domina las variables, funciones, estructuras de datos, los condicionales y ciclos.