Les structures de contrôle permettent d'exécuter du code soit
Les boucles consistent à définir du code qui sera répété plusieurs fois. Il existe deux structures pour deux cas différents :
La structure for
permet d'itérer sur des collections.
La structure while
exécute du code tant qu'une condition est vrai.
Affichez chaque caractère d’une chaine en utilisant la boucle for
In [ ]:
collection = "Arthur"
for char in collection:
print(char)
Affichez chaque élément d’une liste en utilisant la boucle for
In [ ]:
collection = ["Arthur", "Lancelot", "Robin"]
for element in collection:
print(element)
Soit la liste des 10 premier épisodes de la saison 12 de Big Bang Theory. Chacun a une durée de 23 minutes.
In [ ]:
bbt_s12 = ["The Conjugal Configuration",
"The Wedding Gift Wormhole",
"The Procreation Calculation",
"The Tam Turbulence",
"The Planetarium Collision",
"The Imitation Perturbation",
"The Grant Allocation Derivation",
"The Consummation Deviation",
"The Citation Negation",
"The VCR Illumination"]
Vous avez écrit dans les exercices sur les listes les instructions pour calculer le nombre d'épisodes à visionner en 2 heures et l'instruction pour retourner afin de l'afficher et supprimer le premier épisode de la liste. Vous aviez répété cette instruction autant de fois que nécessaire à la main.
Écrivez donc maintenant à l'aide d'une boucle ces instructions.
In [ ]:
for _ in range(120 // 23):
print(bbt_s12.pop(0))
In [ ]:
SENTENCE = 'Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.'
Nous souhaitons savoir combien de mots commencent par la lettre t (vous pouvez tester avec la méthode "mot".startswith('t')
.
In [ ]:
t_count = 0
for word in SENTENCE.lower().split():
if word.startswith('t'):
t_count += 1
print(t_count)
Nous souhaitons générer un dictionnaire contenant la fréquence de tous les mots de la chaîne.
In [ ]:
# Ceci est l'algorythme C classique
words_count = dict()
for word in SENTENCE.replace('.', '').lower().split():
if word in words_count:
words_count[word] += 1
else:
words_count[word] = 1
print(words_count)
In [ ]:
# Ceci est l'utilisation d'idiome Python
words_count = dict()
for word in SENTENCE.replace('.', '').lower().split():
words_count[word] = words_count.get(word, 0) + 1
print(words_count)