
Christian Alvarenga
PreguntaCuando pedía al comienzo de la clase que hagamos lo de la lista al cuadrado, sin querer puse como range del 0 al 100 y lo mismo me funcionó. ¿Alguien sabría por qué? Dejo abajo el código que utilicé.
def run(): number_list = [] for i in range(0, 100): i += 1 i = i**2 number_list.append(i) print (number_list) if __name__ == '__main__': run()

Christian Alvarenga
Muy buena explicación, gracias por tu aporte. :)

Rogelio Hernández Montes
Tu código funciona por que range puede recibir varios parámetros.
SI solo envías un parámetro, range(final), siendo final 100 devolverá los números del 0 al 99 (final-1).
Pero también puedes especificar en que numero iniciar los números que te genera range, en este caso es range(inicio,final) que devolverá los números desde inicio hasta final-1 que es la opción que tu usaste.
Y ademas puedes enviar 3 argumentos a la funcion range que seria de la siguiente forma range(inicio, final, pasos), que es como la forma anterior, pero en esta puedes especificar el incremento de los numeros. Si usas range(0, 100, 2) te devolvera todos los numeros pares entre [0, 99]
por lo tanto dado que iniciaste en 0 range(100)== range(0,100)== range(0, 100, 1) ¿y por que es igual a range(1,101)? La respuesta es no es igual, sin embargo usaste i+=1 por lo que estas forzando um incremento de 1 a cada iteración por lo que al iniciar el 0+1 y al finalizar 99+1: 1, 100, al igual que range(1,101)