for
for
nos permite correr una acción en cada uno de los ítems de la lista. Usar cada uno de los elementos de la lista se llama iterar. La sintaxis en Python de un ciclo for
es la siguiente:<variable temporal>
nos estamos refiriendo a "pseudo-código".for
:pint()
. Esa es la acciónfor
i
por raza
?i
o j
, pero recuerda que esto no influye en el resultado final.for
estará incluido dentro del ciclo y corre en cada iteración. Si olvidamos indentar, obtendremos un IndentationError
Range
con Ciclosrange
, que ya vimos anteriormente. La sintaxis es la siguiente:for
estamos añadiendo el valor 1
a la lista de forma infinita, por tanto el ciclo nunca termina. Debes oprimir las teclas CTRL + C
para poder parar la ejecución, y así seguir adelante.break
razas
y busca usando una sentencia if
a beagle
. Una vez lo encuentra no hay necesidad de seguir recorriendo la lista. En este caso son 6 razas (o items), pero si necesitamos ir sobre 1 millón de items tendremos un problema de rendimiento. Se puede salir del código una vez encuentra el ítem con la sentencia break
continue
continue
para movernos al siguiente i
de la listaif
encuentra un valor menor a 0
se lo "salta" con un continue
y sigue recorriendo la lista.for
"encadenados"for
"encadenado" de la siguiente manerafor
"encadenados", uno dentro del otro, ya que la lista tiene más dimensiones. Algo importante para resaltar en el ciclo for
interno, es que iteramos sobre equipo
, ya que son las listas internas.while
while
es otro tipo de ciclo diferente al ciclo for
. Este ciclo recorre un set de código hasta que deja de cumplirse una condición. Puede usarse también para iterar sobre una lista. Cada vez que una condición se cumple el código dentro del ciclo corre. Es una excelente opción para cuando no sabemos cuántas iteraciones tomará para cumplir con la condición.for
tratemos de imprimir los ítems de la lista de razas
usando el ciclo while
for
? Empecemos:0
, la variable indice
. Esto es necesario para poder tener un valor de comparación inicial.while
seguido de un condicional que puede evaluar a True
o False
.indice
con respecto al largo de la lista razas
. En la primera iteración indice == 0
y el len(razas) == 6
. Debido a que el resultado del condicional es True
en la primera iteración, el código entra a ejecutar el print(razas[indice])
print(razas[indice])
esta accediendo a la lista razas
y llamando el item por la posición que tiene la variable indice
, que en la primera iteración será 0
, o sea que llamamos al primer item: print(razas[0])
indice += 1
es muy importante para este caso de uso, ya que si no lo hacemos quedaremos en un ciclo "infinito".indice += 1
toma el valor actual de indice
y de forma recursiva +=
suma el valor de 1
. Quiere decir que una vez la primera iteración finaliza, la variable indice
deja de valer 0
y pasa a valer 1
, y vuelve a recorrer todo el ciclo while
while
deja de ejecutarse cuando la condición while indice < len(razas)
es False
. La pregunta es, ¿cuando es False
? Es False
cuando la variable indice
sea igual o mayor a len(razas)
, o sea igual o mayor a 6
for
pero en vez de hacer un print()
, añadamos los valores que cumplen con una condición a una lista así:for
itera sobre una lista de razas
, y retorna la lista beagles
con los valores encontrados durante el ciclo for
y que cumplieron la condición de if raza == "beagle":
beagles = [ raza for raza in razas if raza == "beagle"]
ya que aquí es donde ocurre la magia. En una sola línea de código hicimos el ciclo for
y la sentencia if
y retornamos una lista con los valores que cumplen la condición.usernames
que tiene todos los strings de la lista que tienen un @
como palabra inicial. Podemos hacer un ciclo for
for
.palabras
2. Asigna ese elemento a la variable llamada palabra
3. Verifica si palabra[0] == @
es igual a True
, y si sí, añade palabra
a la nueva lista usernames
. Si no, no pasa nada. 4. Repite los pasos del 1-3 para todos los strings en palabras
." por favor sigueme!"
añadido al final de cada username
. La nueva lista la llamaremos mensajes
usernames
2. Asigna ese username
a una variable llamada usuario
3. Añade " porfavor sigueme!"
a usuario
4. Añade esa concatenación a la nueva lista llamada mensajes
5. Repite el paso 1-4 para todos los strings en usernames
100
a cada valor. ¿Cómo lo haríamos?mis_votos
2. Asigna ese número a una variable llamada voto
3. Suma 100 a voto
4. Añade esa suma a la nueva lista llamada votos_actualizados
5. Repite el paso 1-4 para todos los valores en mis_votos