<jupyter_start><jupyter_text>LoopsLos loops son una manera de ejecutar codigo de manera repetida. Por ejemplo:<jupyter_code>dias = ['domingo', 'lunes', 'martes', 'miercoles', 'jueves', 'viernes', 'sabado']

for dia in dias:
    print(dia)<jupyter_output>domingo
lunes
martes
miercoles
jueves
viernes
sabado<jupyter_text>El loop `for` requiere:- un nombre de variable a usar (`dia` en el ejemplo anterior)- un conjunto de valores sobre los cuales iterar (`dias` en el ejempo anterior)- usar la palabra `in` para unirlosEl objeto a la derecha de `in` puede ser cualquiera que soporte *iteraciones*. Estos objetos se llaman ***iterable***. Por ejemplo un tuple:<jupyter_code>multiplicandos = (2, 2, 2, 3, 3, 5)
producto = 1

for mult in multiplicandos:
    producto = producto * mult
    print(producto)

print("El valor final de 'producto' es:", producto)<jupyter_output>2
4
8
24
72
360
El valor final de 'producto' es: 360<jupyter_text>Incluso se puede iterar sobre cada caracter de un `string`.<jupyter_code>s = "Hola a todOs, estamos muy feLices de tenerles Aqui."

for char in s:
    if char.isupper():
        print(char)<jupyter_output>H
O
L
A<jupyter_text>`range()``range` es una funcion muy util que genera un iterable de numeros consecutivos. Es muy uytil para hacer loops.<jupyter_code>for i in range(5):
    print("Estamos haciendo un trabajo importante. i = ", i)<jupyter_output>Estamos haciendo un trabajo importante. i =  0
Estamos haciendo un trabajo importante. i =  1
Estamos haciendo un trabajo importante. i =  2
Estamos haciendo un trabajo importante. i =  3
Estamos haciendo un trabajo importante. i =  4<jupyter_text>`while` loopsOtro tipo de loop son los `while` loops, que iteran hasta que se cumpla una condicion:<jupyter_code>i = 0

while i < 10:
    print(i)
    i += 1  # incrementar i en 1.<jupyter_output>0
1
2
3
4
5
6
7
8
9
{'fraction_non_alphanumeric': 0.09287257019438445, 'fraction_numerical': 0.022138228941684664, 'mean_word_length': 4.649390243902439, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 16, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '600122', 'license': 'MIT', 'n_tokens_mistral': 709, 'n_tokens_neox': 678, 'n_words': 246, 'path': 'python-fundamentals/4_loops.ipynb', 'repo_name': 'FaridRodriguez/straddle-ml', 'size': '1852'}