Récapitulatif
- expressions
- types
- instructions (affectation, print)
- script
- conditionnelles
Boucles
Répétition d’un bloc
for
: boucle pour “parcourir” un ensemble de valeurs
while
: boucle qui est répétée tant qu’une condition est vraie
Boucle for
Syntaxe
for ma_variable in range(debut,fin):
instruction_1
instruction_2
...
- rmq: la vraie syntaxe est plus générale
Boucle for
Sémantique
- range représente tous les int compris entre
- le bloc est exécuté pour chaque valeur représentée par range
- la valeur concernée est rangée dans ma_variable pour chaque “tour” de boucle
Exemple: boucle for
somme.py
total = 0
for n in range(1,10):
total = total + n
print("La somme des entiers de 1 à 9 est "+str(total))
- Exercice: modifier ce programme pour
- saisir un nombre
- calculer la factorielle de ce nombre
Boucle while
Syntaxe
while expr_cond:
instruction_1
instruction_2
...
Boucle while
Sémantique
- La boucle est répétée tant que cond_expr s’évalue à True
- Seule la modification de l’environnement peut arrêter la boucle
- souvent une modification des variables
Exemple boucle while
racine.py
x = 27
r = 0
while r * r <= x:
r = r + 1
r = r - 1 # pourquoi ?
print("La racine carrée entière de "+str(x)+" est "+str(r))
Exercice
Pliage
- Écrire un programme qui détermine combien de fois il faut plier une feuille de 1 mm d’épaisseur pour obtenir une épaisseur d'1 m (en imaginant qu’on peut plier la feuille autant de fois que nécessaire)
Structures imbriquées
- Il est possible d’imbriquer des structures de contrôle les unes dans les autres
- On a déjà vu des imbrication avec des
if
- Il est possible d’imbriquer
- des
if
dans des boucles
- des boucles dans d’autres boucles
- des boucles dans des
if
Exercices
Écrire des programmes pour
- Afficher les carrés d’entiers pairs entre 0 et 10.
- Donner l’entier entre 0 et 20 dont le sinus a la plus grande valeur.
- Calculer les $k$ premiers nombres premiers
Chaînes de caractères
Caractères; sous-chaînes et positions
Positions et sous-chaînes
Accéder à un morceau de chaîne
Exemple: "Gâteau au chocolat"
"Gâteau"
est la sous-chaîne contenant les 6 premières lettres (on dit caractère)
Positions dans une chaîne
- La première position est 0
- La taille de la chaîne est donnée par la fonction
len
- La dernière position dans
s
est donc len(s)-1
Sous-chaînes
Opérateur []
extrait une sous-chaîne
s[d:f]
est la sous-chaîne de s qui commence à la position d
et fini à la position f-1
(i.e. la position f
exclue)
Exemple
In [1]: "abcdef"[2:4]
Out[1]: 'cd'
- Essayer avec des positions négatives ou plus grandes que la longueur
Caractère à la position i
Opérateur []
sans :
s[i]
est le caractère à la position i
- valeur renvoyée comme une chaîne de taille 1
Exemple
In [2]: "abcdef"[2]
Out[2]: 'c'