Avec python, il est possible de calculer le résultat d'expressions méthématiques comme le ferait une calculatrice élémentaire. Pour cela, on entre le calcul à effectuer et on exécute la cellule :
Q. Calculer $1+1$.
1 + 1
2
Q. Calculer $2^3 + (3 \times 4 - 1)$.
2**3 + (3 * 4 - 1)
19
Rem. Python n'est pas sensible aux espaces.
2 **3 + (3*4-1)
19
Q. Calculer $5/2$.
5 / 2
2.5
Q. Calculer le quotient de la division euclidienne de $5$ par $2$.
5 // 2
2
Q. Calculer le reste de la division euclidienne de $5$ par $2$.
5 % 2
1
Python permet de garder en mémoire des valeurs, dans des "objets mémoire" appelées variables. On doit nommer une variable par un texte sans espace, commençant par une lettre. Lorsqu'on place une valeur dans une variable, on dit qu'on lui affecte une valeur.
Q. Affecter la valeur $15$ à la variable a
.
a = 15
On observe qu'aucune valeur n'est donnée en sortie. En effet, l'affectation d'une valeur à une variable ne retourne aucun résultat. Si l'on souhaite voir ce qu'il y a dans une variable, on peut l'afficher avec la fonction print
.
Q. Affecter $8$ à la variable b
puis l'afficher.
b = 8
print(b)
8
Q. Afficher la valeur de la variable a
définie dans une cellule précédente.
print(a)
15
Q. Incrémenter a
de $1$, puis l'afficher
a = a + 1
print(a)
16
Q. Affecter $15$ et $8$ aux variables a
et b
. Puis, afficher a
. Puis stocker dans c
leur somme et afficher la valeur de c
.
a, b = 15, 8
print(a)
c = a + b
print(c)
15 23
Python permet de faire des tests logiques (égalité, différénce, inégalité, etc.).
Q. Affecter $15$ et $8$ aux variables a
et b
. Puis, tester si leur somme est égale à $23$.
a, b = 15, 8
a + b == 23
True
Q. Tester si $2^{13} \lt 4000$.
2 ** 13 < 4000
False
Q. Tester si $5+7 \ge 12$.
5 + 7 >= 12
True
Q. Tester si $a \ne 1$.
a != 1
True
Python permet de manipuler d'autres structures que des nombres. Par exemple, les chaînes de caractères sont définies par des guillemets (simples ou double, c'est équivalent).
Q. Affecter à la variable a
la chaîne de caractère "Hello"
a = "Hello"
a
'Hello'
On peut également concaténer (= mettre à la suite) deux chaînes de caractères avec l'opération +
.
Q. Affecter à la variable b
la chaîne de caractère "world". Puis, afficher la concaténation de a
, d'un espace, et de la variable b
.
b = "world"
a + " " + b
'Hello world'
Q. Vérifier que l'on peut utiliser les simples guillemets et les doubles guillements pour définir une chaîne de caractères.
"Hello" == 'Hello'
True
Les listes permettent de collecter différentes données dans un ordre précis. Le premier élément d'une liste a pour indice $0$.
Q. Créer la liste des cinq premières lettres de l'alphabet, et l'affecter à la variable L
.
L = ["a", "b", "c", "d", "e"]
L
['a', 'b', 'c', 'd', 'e']
Q. Afficher le premier élément d'une liste
print(L[0])
a
La fonction len
permet de retourner la longueur d'une liste :
len(L)
5
Comme pour les chaînes de caractères, on peut concaténer deux listes avec l'opération +
.
M = ['f', 'g']
L + M
['a', 'b', 'c', 'd', 'e', 'f', 'g']
Q. Remplacer le $2$ème élément de la liste L
par l'entier $0$, puis afficher L
.
L[1] = 0
print(L)
['a', 0, 'c', 'd', 'e']
Q. Recopier trois fois la liste L
.
L * 3
['a', 0, 'c', 'd', 'e', 'a', 0, 'c', 'd', 'e', 'a', 0, 'c', 'd', 'e']
Q. Ajouter "nouveau" à la fin d'une liste
L.append("nouveau")
print(L)
['a', 0, 'c', 'd', 'e', 'nouveau']
Q. Retirer le dernier élément de la liste L
et le stocker dans x
x = L.pop()
print(x)
print(L)
nouveau ['a', 0, 'c', 'd', 'e']
Q. Insérer le mot "insertion" en troisième position de la liste L
.
L.insert(2, "insertion")
print(L)
['a', 0, 'insertion', 'c', 'd', 'e']
Q. Enlever le quatrième élément de la liste L
.
y = L.pop(3)
print(y)
c
print(L)
['a', 0, 'insertion', 'd', 'e']
Python permet de créer de boucles, c'est-à-dire une succession de commandes paramètrée par une ou plusieurs valeurs. Il existe deux formes principales de boucles : les boucles for
(= effectuer les commandes suivantes pour certaines valeurs) et les boucles while
(= effectuer certaines commandes tant qu' une certaine condition est vérifiée). Dans les deux cas, les commandes à effectuer doivent être indentées (utiliser la touche "TAB").
Q. Avec une boucle for
, afficher les lettres "a", "b" et "c".
for x in ["a", "b", "c"]:
print(x)
a b c
Q. Avec une boucle for
et une liste, faire la somme des entiers de $2$ à $6$.
somme = 0
for i in [2, 3, 4, 5, 6]:
somme = somme + i
somme
20
Le mot-clef range
permet de décrire une suite arithmétique entière. C'est particulièrement utile lorsqu'on souhaite parcourir tous les entiers entre a
(inclus) et b
(non-inclus). Pour cela, on écrit range(a, b)
.
Q. Même question que la précédente, mais sans la liste, et avec le mot-clef range
.
somme = 0
for i in range(2,7):
somme += i
somme
20
Si a
vaut $0$, on peut ne pas l'écrire et donner simplement range(b)
.
Q. Même question en partant de l'entier $0$.
somme = 0
for i in range(7):
somme += i
somme
21
Q. Même question avec une boucle while
, et en partant de la valeur la plus grande.
somme = 0
i = 6
while (i >= 0):
somme = somme + i
i -= 1
somme
21