<jupyter_start><jupyter_text>Introduction à Python > présentée par <NAME>  Introduction aux flux de contrôles  Les tests Ils permettent d'exécuter des déclarations sous certaines conditions.<jupyter_code>age = 17
if age < 18:
    print("Mineur")  # executé si et seulement si la condition est vraie
age = 19
if age < 18:
    print("Mineur")  # executé si et seulement si la condition est vraie
else:
    print("Majeur")  # exécuté si et seulement si la condition est fausse
employeur = "JLR"
# employeur = "Jakarto"
# employeur = "Une autre entreprise"

# Commentez, décommentez les valeurs de la variable employeur pour tester.

if employeur == "JLR":
    # exécuté si et seulement si la condition employeur == "JLR" est vraie
    richesse_statut = "riche"
elif employeur == "Jakarto":
    # exécuté si et seulement si la condition employeur == "Jakarto" est vraie 
    # et qu'aucune condition précédente n'a été remplie
    richesse_statut = "ça s'en vient bientôt"  
else:
    # exécuté si et seulement si aucune condition précédente n'a été remplie
    richesse_statut = "probablement pas"
    
print("Richesse d'un employé de {} : {}".format(employeur, richesse_statut))<jupyter_output>Richesse d'un employé de JLR : riche<jupyter_text>Les boucles Les boucles permettent d'itérer sur des itérables (composés de plusieurs éléments).<jupyter_code>un_iterable = []
un_iterable.append({"nom": "Messal", "prénom": "Loïc", "employeur": "Jakarto", "age": 23})
un_iterable.append({"nom": "Lassem", "prénom": "Ciol", "employeur": "Otrakaj", "age": 17})
un_iterable.append({"nom": "Alssem", "prénom": "Icol", "employeur": "Torakaj", "age": 20})
un_iterable
for item in un_iterable:
    print("{} {} travaille chez {}.".format(item["prénom"], item["nom"], item["employeur"]))<jupyter_output><NAME> travaille chez Jakarto.
<NAME> travaille chez Otrakaj.
<NAME> travaille chez Torakaj.<jupyter_text>Il est possible de générer des séquences avec la fonction `range()`.<jupyter_code>for compteur in range(5):  # range(5) génére une séquence de 0 à 5 (exclus)
    print(compteur)
for compteur in range(1, 5+1): # range(1, 5+1) génére une séquence de 1 à 5+1 (exclus)
    print(compteur)
for index in range(len(un_iterable)):
    item = un_iterable[index]  # accède à l'item à partir de son index
    print("Item {} : {} {} travaille chez {}.".format(index, item["prénom"], item["nom"], item["employeur"]))
for index, item in enumerate(un_iterable):  # enumerate permet d'itérer en obtenant l'index ET l'item
    print("Item {} : {} {} travaille chez {}.".format(index, item["prénom"], item["nom"], item["employeur"]))
compteur = 0
stop = 5
while compteur < stop:  # exécutera les déclarations suivantes tant que la condition est vraie
    print(compteur)
    compteur = compteur + 1<jupyter_output>0
1
2
3
4<jupyter_text>Il est possible de contrôler les boucles avec certains mots clés:- `continue` passera à l'itération suivante sans exécuter les déclarations qui suivent- `break` quittera la boucle prématurément<jupyter_code>for index, item in enumerate(un_iterable):
    if item["age"] < 18:
        continue  # Si la condition est vraie, passage à l'itération suivante.
    print("Item {} : {} {} (majeur) travaille chez {}.".format(index, item["prénom"], item["nom"], item["employeur"]))
for index, item in enumerate(un_iterable):
    print("Item {} : {} {} travaille chez {}.".format(index, item["prénom"], item["nom"], item["employeur"]))
    if item["prénom"] == "Loïc":
        break  # Arrête la boucle si la condition est vraie<jupyter_output>Item 0 : <NAME> travaille chez Jakarto.
{'fraction_non_alphanumeric': 0.130859375, 'fraction_numerical': 0.010602678571428572, 'mean_word_length': 4.945273631840796, 'pattern_counts': {'":': 15, '<': 22, '<?xml version=': 0, '>': 19, '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': '4', 'dir': 'jupyter-structured-clean-dedup', 'id': '309', 'license': 'MIT', 'n_tokens_mistral': 1308, 'n_tokens_neox': 1273, 'n_words': 390, 'path': '03_Tests_et_boucles.ipynb', 'repo_name': 'Tofull/introduction_python', 'size': '3609'}