++¿Cúando usar “while” o “for” ?++
• while: cuando no conozcas la cantidad de elementos a recorrer o la cantidad de iteraciones a realizar.
'''
while True:
print('Se ejecuto')
'''
cont = 0while cont < 5:
cont += 1
print(cont)
print("----------------------")
# Romper el ciclo dentro de un while
cont = 0while cont < 10:
cont += 1if cont == 7:
break
print(cont)
print("----------------------")
# Saltea el ciclo dentro del while
cont = 0while cont < 10:
cont += 1if cont < 7:
continue
print(cont)
• for: cuando conozcas la cantidad de elementos a recorrer o el número de iteraciones a realizar
‘’'
Se itera de acuerdo a un numero de condiciones dadas por algún elemento
En un whileno tenemos claro el número de iteraciones que vamos a realizar, mientras queen un for iteramos sobre un conjunto de datos, sea una lista, un rango, un diccionario.
’’’
# Imprime los numeros del 0 al 5 (cuando nose indica el valor inicial)
for element inrange(5):
print(element)
print("-" * 20)
# Imprime los números de 1 al 5, porque el extremo final nose incluye
for element inrange(1,6):
print(element)
print("-" * 20)
# Iterar los elementos dela lista
my_list = [23, 45, 67, 89, 43]
for element in my_list:
print(element)
print("-" * 20)
# Iterar los elementos de una tupla
my_tuble = (‘nico’, ‘juli’, ‘santi’)
for element in my_tuble:
print(element)
print("-" * 20)
# Iterar los elementos de un diccionario
product = {
‘name’: ‘camisa’,
‘price’: 100,
‘stock’: 89
}
# Itera sobre las llaves
for element in product:
print(element)
print("-" * 20)
# Itera sobre los valores
for element in product:
print(product[element])
print("-" * 20)
for key in product:
print(key, ‘<mark>’, product[key])
print("-" * 20)
for key, value in product.items():
print(key, 'mark>’, value)
print("-" * 20)
# Iterar en lista de diccionarios
people = [
{
‘name’ : ‘nico’,
‘age’ : 34
},
{
‘name’ : ‘azule’,
‘age’ : 45
},
{
‘name’ : ‘santi’,
‘age’ : 4
}
]
for person in people:
print(person)
print("-" * 20)
for person in people:
print(‘name ==’, person[‘name’])
print(’-age ==’, person[‘age’])
print(’-’ * 5)
print(" ")
En un while no tenemos claro el número de iteraciones que vamos a realizar, mientras que en un for iteramos sobre un conjunto de datos, sea una lista, un rango, un diccionario.
Ciclos anidados
Los ciclos anidados suelen usarse para llenar matrices (un vector de varias dimensiones) donde un ciclo recorre cada fila y otro cada columna o viceversa
For anidados
Es posible anidar los for, es decir, meter uno dentro de otro. Esto puede ser muy útil si queremos iterar algún objeto que en cada elemento, tiene a su vez otra clase iterable.
#lista de listas
lista = [
[56, 34, 1],
[12, 4, 5],
[9, 4, 3]
]
foriin lista:
for j ini:
print(j)
Al bucle que se encuentra dentro del otro se le puede denominar bucle interior o bucle interno. El otro bucle sería el bucle exterior o bucle externo.
Es recomendable que los nombres de las variables de control de los bucles anidados no coincidan, para evitar ambigüedades.