Boucles for : introduction¶
L'objectif de ce TP est de découvrir par vous-même comment fonctionnent les boucles for en Python. Testez chaque exemple, observez le résultat, et répondez aux questions.
Avant de pouvoir commencer, exécuter les commandes suivantes dans votre terminal (assurez vous d'être dans le dossier où se trouve le notebook).
python3 -m venv .venv
source .venv/bin/activate
pip install jupyter
Installer, dans VSCode les extensions suivantes : Jupyter.
In [ ]:
for letter in "python":
print(letter)
In [ ]:
for i in range(4):
print(i)
# que renvoie range(4) ? (type de donnée, contenu etc...)
Fonction range()¶
Exécuter les codes suivants. Que se passe-t-il ?
In [ ]:
# on définit trois entiers, a, b, c
a, b, c = 3, 9, 2
print("a =", a)
print("b =", b)
print("c =", c)
In [ ]:
for i in range(a):
print("i =", i)
In [ ]:
for i in range(a, b):
print("i =", i)
In [ ]:
for i in range(a, b, c):
print("i =", i)
Finalement, formaliser. Quels arguments prend en entrée la fonction range() ? Que renvoie range(a, b, c) ?
In [ ]:
fruits = ["pomme", "kiwi", "cassis"] # que renvoie type(fruits) ?
n_fruits = len(fruits) # que contient n_fruits ?
for fruit in fruits:
print(fruit)
In [ ]:
vowels = ["a", "e", "i", "o", "u"]
word = "Halloween"
for letter in word:
if letter in vowels:
print(letter) # qu'affiche-t-on ?
Itération sur les indices d'une séquence¶
En quoi les codes A et B sont-ils différents ?
In [ ]:
# code A
word = "Python"
length = len(word)
for i in range(length):
print(word[i])
In [ ]:
# code B
word = "Python"
for letter in word:
print(letter)
Itération sur les indices d'une séquence : cas d'une liste¶
In [ ]:
animals = ["panda", "owl", "bear", "sheep", "dog"]
n_animals = len(animals)
for i in range(n_animals):
print(animals[i])
Utiliser un compteur¶
Exécuter et expliquer les codes ci-dessous. En quoi une boucle for diffère d'une boucle while ?
In [ ]:
# version while
word = "Pumpkin"
length = len(word)
i = 0
sum_p = 0
while i < length:
if word[i] == "p":
sum_p += 1
i += 1
print(f"The word {word.lower()} has {sum_p} p.")
In [ ]:
# version for
word = "Pumpkin"
length = len(word)
sum_p = 0
for i in range(length):
if word[i] == "p":
sum_p += 1
print(f"The word {word.lower()} has {sum_p} p.")