Files
1ereNSI/programmation/chapitre_3/README.md

97 lines
2.3 KiB
Markdown
Raw Normal View History

2021-10-01 11:22:41 +02:00
# Les boucles
L'activité consiste en un TD comprenant un __cours dirigé__ et des __exercices__ relatifs à la notion de _boucles_ en Python.
## Pré-requis
Avoir effectué l'activité sur les [instructions conditionnelles](../chapitre_2/)
## Consignes
1. Télécharger le fichier [TD.ipynb](./TD.ipynb),
2. Se rendre sur [Basthon](https://notebook.basthon.fr/),
3. Ouvrir le fichier TD.ipynb téléchargé,
4. Suivre le déroulé du TD, les réponses sont à mettre directement dans votre fichier,
5. À la fin de la séance, n'oubliez pas de sauvegarder votre fichier sur votre clé USB ou espace personnel.
---------
## Mémo - Les boucles
### Boucle for (boucle bornée)
Utilisée quand on **connaît le nombre d'itérations** à l'avance.
```python
# Répéter 5 fois (i vaut 0, 1, 2, 3, 4)
for i in range(5):
print(i)
# Parcourir une liste
for element in liste:
print(element)
# Parcourir une chaîne caractère par caractère
for lettre in "Bonjour":
print(lettre)
```
### La fonction range()
| Syntaxe | Résultat |
|---------|----------|
| `range(5)` | 0, 1, 2, 3, 4 |
| `range(2, 7)` | 2, 3, 4, 5, 6 |
| `range(0, 10, 2)` | 0, 2, 4, 6, 8 |
| `range(5, 0, -1)` | 5, 4, 3, 2, 1 |
### Boucle while (boucle non bornée)
Utilisée quand on **ne connaît pas** le nombre d'itérations à l'avance.
```python
# Répéter tant que la condition est vraie
compteur = 0
while compteur < 5:
print(compteur)
compteur = compteur + 1 # Ne pas oublier !
```
### Comparaison for vs while
| Situation | Boucle à utiliser |
|-----------|-------------------|
| Répéter n fois | `for i in range(n)` |
| Parcourir une liste | `for element in liste` |
| Jusqu'à une condition | `while condition` |
| Saisie utilisateur valide | `while` |
### Exemple : Parcourir avec l'indice
```python
liste = ["a", "b", "c"]
# Méthode 1 : par les éléments
for element in liste:
print(element)
# Méthode 2 : par les indices
for i in range(len(liste)):
print(i, liste[i])
```
### Attention aux boucles infinies !
```python
# DANGER : boucle infinie (n n'est jamais modifié)
n = 0
while n < 5:
print(n)
# n = n + 1 ← Oublié !
```
---------
2021-10-01 11:22:41 +02:00
## Pour aller plus loin
Une fois le TD __fini__ et __validé__, vous pouvez effectuer l'[activité suivante](../chapitre_4/)