100% ont trouvé ce document utile (1 vote)
137 vues40 pages

Initiation à Python pour Lycéens

Le document décrit comment installer Python et explique les bases de la programmation logique avec ce langage comme la déclaration de variables, de fonctions, les structures de contrôle et les opérations et modules mathématiques.

Transféré par

samsoum1
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
137 vues40 pages

Initiation à Python pour Lycéens

Le document décrit comment installer Python et explique les bases de la programmation logique avec ce langage comme la déclaration de variables, de fonctions, les structures de contrôle et les opérations et modules mathématiques.

Transféré par

samsoum1
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Initiation à Python

pour les élèves du lycée


(et aussi les profs)

Stéphane Pasquet

14 septembre 2018
2
Avant-propos

À l’heure où vous lisez ceci, je construis ce document.


J’ai préféré le faire petit à petit car je suis novice en Python et quoi de mieux (pour
moi comme pour toutes les personnes qui sont dans mon cas) que d’apprendre petit
à petit ?
J’espère ainsi produire un document qui se veut réellement utile aux enseignants
comme aux élèves soucieux de se mettre à Python.
Il n’y a donc pas encore tous les chapitres. N’hésitez pas à me contacter (à l’aide
de la page de contact de mon site, [Link] pour me faire part
de vos suggestions.
Vous pouvez aussi consulter les articles de ce site qui parlent de Python.

Stéphane Pasquet

i
ii

Sommaire

1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Téléchargement du logiciel
d’installation . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Installation de Python . . . . . . . . . . . . . . . . . . . . 2
1.3 Lancement de la console . . . . . . . . . . . . . . . . . . 3
2 La logique de Python . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Appel d’un module . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Installer un module . . . . . . . . . . . . . . . . . . . . . . 9
3 Algorithmique et programmation . . . . . . . . . . . . . . . . . . 11
3.1 Déclaration des variables . . . . . . . . . . . . . . . . . . 11
3.2 Déclaration d’une fonction . . . . . . . . . . . . . . . . . . 11
3.3 Les tests : Si... Alors... Sinon... . . . . . . . . . . . . . . . 12
3.4 La boucle « Pour » . . . . . . . . . . . . . . . . . . . . . . 15
3.5 La boucle « Tant que » . . . . . . . . . . . . . . . . . . . . 16
4 Tracé de courbes . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1 Modules à installer . . . . . . . . . . . . . . . . . . . . . . 17
4.2 Un exemple de courbe représentative de fonction . . . . . 17
4.3 Légendes . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.4 Courbes paramétriques . . . . . . . . . . . . . . . . . . . 19
4.5 Surfaces 3D . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.6 Export en PNG . . . . . . . . . . . . . . . . . . . . . . . . 21
4.7 Affichage dans un document LATEX . . . . . . . . . . . . . 21
5 Opérations mathématiques . . . . . . . . . . . . . . . . . . . . . 25
5.1 Le module « math » . . . . . . . . . . . . . . . . . . . . . 25
5.1.1 Les constantes . . . . . . . . . . . . . . . . . . . . . . . . 25
5.1.2 Les fonctions . . . . . . . . . . . . . . . . . . . . . . . . . 26
Racine carrée . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Puissances . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Exponentielle . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Logarithme népérien . . . . . . . . . . . . . . . . . . . . . . . 27
Logarithme décimal . . . . . . . . . . . . . . . . . . . . . . . 27
Fonctions trigonométriques : sinus, cosinus, tangente . . . . 27
Arccos, arcsin et arctan . . . . . . . . . . . . . . . . . . . . . 28
5.1.3 Conversions . . . . . . . . . . . . . . . . . . . . . . . . . 29
Convertir un angle en degrés . . . . . . . . . . . . . . . . . . 29
Convertir un angle en radians . . . . . . . . . . . . . . . . . . 29
iii

5.1.4 Fonctions arithmétiques . . . . . . . . . . . . . . . . . . . 29


Pgcd de deux nombres entiers . . . . . . . . . . . . . . . . . 29
Modulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Quotient et reste . . . . . . . . . . . . . . . . . . . . . . . . . 30
Partie entière d’un nombre réel . . . . . . . . . . . . . . . . . 30
Factorielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Valeur absolue . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2 Le module « cmath » . . . . . . . . . . . . . . . . . . . . 31
5.2.1 Formes cartésiennes, trigonométriques et exponentielles 31
Définir un nombre complexe . . . . . . . . . . . . . . . . . . . 31
Obtenir le module et un argument . . . . . . . . . . . . . . . 32
Obtenir les parties réelle et imaginaire . . . . . . . . . . . . . 32
5.3 Le module « random » . . . . . . . . . . . . . . . . . . . . 32
5.3.1 Choisir un nombre entier aléatoire entre deux autres . . 33
5.3.2 Choisir un nombre aléatoire choisi dans une liste . . . . 33
5.3.3 Choisir un nombre réel aléatoire entre 0 et 1 . . . . . . . 33
5.3.4 Choisir un nombre réel aléatoire entre deux autres . . . . 33
5.3.5 Choisir une lettre au hasard dans un mot . . . . . . . . . 34
5.3.6 Mélanger une liste . . . . . . . . . . . . . . . . . . . . . . 34
5.3.7 Choisir un sous-ensemble aléatoire . . . . . . . . . . . . 34
iv
1
CHAPITRE

Installation

Installer Python est gratuit... et est fortement conseillé pour tout élève de Seconde
Générale en France.
En effet, ce langage est explicitement au programme et beaucoup d’enseignants
choisissent de l’utiliser pour l’enseignement de l’algorithmique.
Nous allons donc voir ici comment installer Python sur un ordinateur fonctionnant
avec Windows 10.

1.1 Téléchargement du logiciel


d’installation
Dans un premier temps, il faut aller sur la page :

[Link]

Vous verrez alors la fenêtre suivante :

1
2 Chapitre 1. Installation

Il faudra alors cliquer sur le bouton jaune (indiqué par une flèche sur l’image
ci-dessus) pour télécharger la dernière version du logiciel d’installation sur votre
ordinateur.

Ce téléchargement devrait prendre environ 1 minute, mais si votre


i connexion à Internet est faible, il faudra s’attendre à un peu plus...

1.2 Installation de Python


Dans le répertoire « Téléchargements » de Windows, le fichier suivant doit appa-
raître :

Il faut alors double-cliquer dessus (cliquer deux fois rapidement) pour le lancer.
L’installation commence alors.

Lorsque la fenêtre d’installation apparaît, cochez la case « Add Python 3.7 to


PATH » (en bas) puis cliquez sur « Install Now ».
Valider à chaque fois que cela vous est demandé jusqu’à la fin de l’installation.
Et voilà ! Vous pouvez maintenant programmer en Python !
1.3. Lancement de la console 3

1.3 Lancement de la console


Dans le menu de recherche de Windows,

tapez : « Python ». Vous devriez voir ceci :

« IDLE (Python 3.6 32-bit) » est le nom du programme à exécuter.

Sur cette copie d’écran, vous voyez Python 3.6 car j’avais déjà installé
la version précédente. Mais le jour où je fais ce tutoriel, la version 3.7 i
est accessible.

Avant de cliquer dessus le lien, je vous conseille de le mettre en raccourci dans la


barre des tâches car il sera ainsi plus pratique d’y avoir accès dans l’avenir.
Pour cela, cliquez avec le bouton droit de la souris sur ce lien, et cliquez sur
« Épingler à la barre des tâches » :
4 Chapitre 1. Installation

Voilà ! Vous avez maintenant une belle icône Python dans votre barre des tâches :

Quand vous cliquez sur cette icône, la fenêtre suivante apparaît :

La fenêtre désignée par « console » par la suite.

Cliquez alors sur « File », puis sur « New file » :


1.3. Lancement de la console 5

Cela aura pour conséquence d’ouvrir une autre fenêtre :

Fenêtre désignée par « fenêtre de programmation » par la suite.

C’est dans cette fenêtre que vous allez pouvoir écrire votre premier programme !
6 Chapitre 1. Installation
2
CHAPITRE

La logique de Python

2.1 Introduction
On peut comparer Python à un smartphone : il peut faire quelques trucs sympas,
mais si on veut l’exploiter à fond, il va falloir lui ajouter des « applications » : pour
Python , on va plutôt parler de modules.

Par exemple, si on souhaite définir une fonction mathématique qui permet de


calculer la racine carrée d’un nombre a, on peut essayer de taper ceci dans la
fenêtre de programmation :

def racine(a):
return sqrt(a)

print(racine(9))

En anglais, « racine carrée » se dit « square root » et en abrégé, cela


donne : sqrt. Cette commande est utilisée par beaucoup de logiciel de i
calculs.

Mais en cliquant sur « Run » puis sur « Run Module » (ou en appuyant directement
sur la touche [F5]) pour exécuter notre programme, on voir apparaître dans la
console (la première fenêtre) :

7
8 Chapitre 2. La logique de Python

Quand on voit un texte en rouge, ce n’est jamais bon signe...


Ici, la raison de ce message est que Python ne connaît pas la commande « sqrt ».
Pour qu’il connaisse la commande, il faut faire appel à un module qui contient
toutes les fonctions mathématiques importantes : c’est le module math.

2.2 Appel d’un module


Pour faire appel au module math, on va taper ceci :
import math

def racine(a):
return [Link](a)

print(racine(9))

Et là, en appuyant sur [F5], on voit apparaître dans la console :


Console
3.0

qui est bien la racine carrée de 9... Ouf ! Tout fonctionne !

Remarquez que la commande qui permet de calculer est précédée du


module duquel elle vient.
La syntaxe générale est :
! import <module>

return <module>.<fonction>
2.3. Installer un module 9

Il existe toutefois une autre syntaxe plus légère :


from math import *

def racine(a):
return sqrt(a)

print(racine(9))

Mais attention ! Si on charge deux modules qui définissent tous les deux
une même fonction, il vaut mieux opter pour la première syntaxe.
Par exemple, si « module1 » et « module2 » définissent tous les deux
la fonction toto alors il faudra écrire : !
import module1
import module2

def toto_un(x):
return [Link](x)

def toto_deux(x):
return [Link](x)

Mais rassurez-vous, il est rare d’avoir deux modules définissant une


même fonction... Mais « rare » ne veut pas dire « jamais » !

2.3 Installer un module


Il n’est pas rare qu’un module ne soit pas installé par défaut. Aussi, il faut avant
toute chose apprendre à en installer.

Pour cela, il faut avant tout lancer la console de Windows : allez dans le module de
recherche de Windows (en cliquant sur le cercle qui est à côté du menu Démarrer,
en bas, dans la barre des tâches), puis tapez « Invite » : tout de suite, une suggestion
est proposée :
10 Chapitre 2. La logique de Python

Cliquez alors sur « Invite de commandes » : une fenêtre noire apparaît.


Pour installer le module nommé turtle, il suffit de taper :
Console
pip install turtle

Si par malheur PIP n’est pas installé, tapez avant tout :


Console
python -m ensurepip –default-pip

Voilà ! Tu as maintenant les bases pour comprendre le fonctionnement de Python.


Passons à l’algorithmique...
3
CHAPITRE

Algorithmique et programmation

3.1 Déclaration des variables


Dans tout programme, il y a des variables : ce sont des lettres (ou des mots) qui
contiennent des valeurs : des nombres ou des chaînes de caractères.
Voyons un exemple :

a, b, c = 1, 2, 3
d = a**2+b**3+c**4

print(d)

Ici, on a affecté :
— la valeur « 1 » à la variable a,
— la valeur « 2 » à la variable b,
— la valeur « 3 » à la variable c.
Ensuite, on a affecté une certaine valeur à la variable d. Cette valeur est égale à :

a2 + b 3 + c 4 .

On remarque que pour élever le nombre a à l’exposant n, on tape :


a**n. i

3.2 Déclaration d’une fonction


Nous l’avons vu dans le chapitre précédent, déclarer une fonction passe par la
commande def.

11
12 Chapitre 3. Algorithmique et programmation

from math import *

def hypotenuse(a,b):
c = sqrt(a**2+b**2)
return c

print(hypotenuse(3,4))

Console
5.0

Cette fonction permet de calculer la longueur de l’hypoténuse d’un triangle rec-


tangle dont la longueur des côtés perpendiculaires sont a et b.
Dans notre exemple, nous demandons la longueur de l’hypoténuse quand les deux
côtés valent 3 et 4.

3.3 Les tests : Si... Alors... Sinon...


Très souvent, dans un programme, nous avons besoin de tester des égalités ou des
inégalités.
Par exemple, si l’on souhaite savoir si un triangle est rectangle, alors il faudra
tester si le carré de l’hypoténuse est bien égal à la somme des carrés des deux
autres côtés.
Si la condition est vraie alors on peut exécuter une instruction. Sinon, on exécute
une autre instruction. Cela se traduit en Python de la manière suivante :

def isRectangular(a,b,c):
if a**2+b**2 == c**2:
return "Le triangle est rectangle."
else:
return "Le triangle n'est pas rectangle"

print(isRectangular(3,4,5))

Console
Le triangle est rectangle.
3.3. Les tests : Si... Alors... Sinon... 13

Il faut ici remarquer que le signe pour tester une égalité n’est pas un
simple signe « = » : il faut en mettre deux ! !

Pour tester une inégalité, on fera de même. À votre avis, que fait ce programme
et que va-t-il afficher ?

def fonction(a,b,c):
if a+b<c:
return "C'est OK !"
else:
return "Y'a comme un petit problème..."

print(fonction(8,9,16))

La condition testée est : « Si a + b < c » ; par conséquent, on exécute l’instruction


return "C’est OK !" uniquement si a + b < c. Sinon, on exécute l’instruction
return "Y’a comme un petit problème...".
On fait de plus appel à la fonction pour a = 8, b = 9 et c = 16. Comme a + b =
8 + 9 = 17, la condition a + b < c n’est pas remplie et donc le programme affiche :
Console
Y’a comme un petit problème...

Mais dites donc : ça ne ressemble pas à l’inégalité triangulaire par hasard ? On sait
que si un triangle doit avoir pour côtés a, b et c (en supposant que ces nombres
soient dans l’ordre croissant) alors il est constructible uniquement si le plus grand
côté (c’est-à-dire c) est plut petit que la somme des deux autres côtés (ici a + b).
Cette fonction teste donc si un triangle est constructible... Bien sûr, cette fonc-
tion n’est pas optimale car elle suppose que a < b < c. Alors, pourquoi ne pas
l’améliorer ? Il serait bon de trier les nombres a, b et c...

def fonction(a,b,c):
if a>b:
d=a
a=b
b=d
if b>c:
d=b
b=c
c=d
14 Chapitre 3. Algorithmique et programmation

if a>b:
d=a
a=b
b=d
if a+b<c:
return "C'est OK !"
else:
return "Y'a comme un petit problème..."

print(fonction(16,9,8))

Regardons pas-à-pas ce que fait notre fonction avec a = 16, b = 9 et c = 8 :


— Premier test : est-ce que a > b ? Oui.
Donc ici, d = 16, a = 9 et b = 16 : on a interverti a et b. La variable d est
nécessaire. En effet, imaginons qu’elle ne soit pas présente. Alors, on aurait
envie d’écrire comme instructions : a=b et b=a. Mais dans ce cas, a=b ferait
que a = 9 et ensuite, l’instruction b=a ferait que b = 9 (car aux dernières
nouvelle, à ce stade, on a mis la valeur « 9 » dans la variable a). Donc, ça
coince un peu... D’où la présence d’une variable intermédiaire.

À ce stade, a = 9, b = 16 et c = 8.

— Deuxième test : est-ce que b > c ? Oui.


Donc ici, d = 16, b = 8 et c = 16.

On a alors à ce stade : a = 9, b = 8 et c = 16.

Comme le deuxième test a réussi (b > c) il faut faire le test suivant :

Troisième test : est-ce que a > b ? Oui.


On répète alors le premier test : d = 9, a = 8 et b = 9.

À ce stade, on a alors : a = 8, b = 9 et c = 16. Le tri par ordre croissant


est fini.
— On peut maintenant faire le test : est-ce que a + b < c. La réponse est NON
donc la console affiche :
Console
Y’a comme un petit problème...
3.4. La boucle « Pour » 15

3.4 La boucle « Pour »


Quand on souhaite répéter n fois une instruction, plutôt que de l’écrire n fois, on
va préférer utiliser une boucle « Pour ». Écrivons un programme qui permet de
calculer la somme 1 + 2 + 3 + · · · + n :
def fonction(n):
s=0
for k in range(1,n+1):
s=s+k
return s

print(fonction(100))

Console
5050

La fonction range est bien pratique, mais elle est trompeuse, en effet,
on pourrait s’attendre à écrire range(1,n) mais cette petite fonction
sournoise s’arrête juste avant n ! C’est la raison pour laquelle il faut
toujours mettre n + 1 comme second argument de range. i
Pour résumer, range(a,b) signifie que l’on parcourt : a, a + 1, a + 2,
. . ., b − 1.

Pour parcourir un mot, on pourra faire comme ceci :

def fonction(mot):
for k in range(len(mot)):
print('La lettre', k, 'est :',mot[k])

fonction('maths')

Console
La lettre 0 est : m
La lettre 1 est : a
La lettre 2 est : t
La lettre 3 est : h
La lettre 4 est : s
16 Chapitre 3. Algorithmique et programmation

La fonction len permet de savoir le nombre de caractères dans une


chaîne (de caractères). range(len(mot)) permet donc de parcourir le
i mot exactement (sans oublier un caractère) car elle part de « 0 » et va
jusqu’à n − 1 (où n est le nombre de caractères dans mot : on a donc
bien n caractères.

3.5 La boucle « Tant que »


Cette boucle s’utilise quand on ne sait pas quand ça va s’arrêter.
Par exemple, si on regarde la somme 1+2+3+· · ·+n et que l’on souhaite s’arrêter
dès qu’elle dépasse 106 (par exemple), nous allons faire :

def fonction(x):
s=0
n=0
while s<=x: # tant que la somme s est plus petite
# ou égale à x
s=s+n
n=n+1
return n

print(fonction(10**6))

Console
1415

Ici, cela signifie que :


1 + 2 + 3 + · · · + 1 415 > 106
mais que :
1 + 2 + 3 + · · · + 1 414 6 106 .

Il faut toujours mettre l’exact contraire de la condition que l’on souhaite


dans la boucle « tant que ».
Par exemple ici, on voulait calculer la somme :
! 1 + 2 + 3 + ··· + n

jusqu’à ce qu’elle dépasse 106 donc tant qu’elle est inférieure ou égale
à 106 .
4
CHAPITRE

Tracé de courbes

4.1 Modules à installer


Dans un premier temps, si ce n’est déjà fait, il faut installer quelques modules.
Dans le terminal de votre OS (tapez « cmd » dans la recherche sous Windows, puis
cliquez sur « Invite de commande »), tapez les lignes suivantes :

pip install numpy


pip install scipy
pip install matplotlib
Le module le plus important est matplotlib ; les deux autres vont servir à tracer
des courbes non triviales (qui font intervenir des constantes comme π – contenue
dans le module numpy).

4.2 Un exemple de courbe représentative


de fonction
import numpy as np
import [Link] as plt

x = [Link](0, 2*[Link], 100)


y = [Link](x)
[Link](x, y)

[Link]() # affiche la figure a l'écran

La compilation de ce code aura pour effet d’ouvrir une fenêtre contenant la courbe
page suivante.

17
18 Chapitre 4. Tracé de courbes

Comme vous avez pu le deviner,


— x=[Link](a,b,n) définit l’intervalle [a ; b] sur lequel tracer la courbe,
où n est le pas entre deux images (plus n est grand, plus la courbe sera lisse,
mais « 100 » suffit amplement à mon avis) ;
— y=[Link](x) est la ligne qui définit la fonction à tracer (ici, on trace la
fonction x 7→ cos x définie dans le module numpy).

4.3 Légendes
Dans le cas où l’on souhaite tracer plusieurs courbes, une légende s’avèrera peut-
être utile.

import numpy as np
import [Link] as plt
x = [Link](0, 2*[Link], 30)
y = [Link](x)
z = [Link](x)
[Link](x, y, label="cos(x)")
[Link](x,z,label="sin(x)")
[Link]()
[Link]()
4.4. Courbes paramétriques 19

4.4 Courbes paramétriques


import numpy as np
import [Link] as plt

t = [Link](0, 2*[Link], 100)


x = [Link](2*t)
y = [Link](3*t)
[Link](x, y)
[Link]()

Ce code produira la figure page suivante.


20 Chapitre 4. Tracé de courbes

4.5 Surfaces 3D
from pylab import *
from mpl_toolkits.mplot3d import Axes3D

ax = Axes3D(figure())
X = [Link](-4, 4, 0.25)
Y = [Link](-4, 4, 0.25)
X, Y = [Link](X, Y)
R = [Link](X**2 + Y**2)
Z = [Link](R)
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='cool')
ax.plot_surface(X, Y, R, rstride=1, cstride=1, cmap='hot')
show()

Ce code produira la figure page suivante.


4.6. Export en PNG 21

Pour avoir toutes les palettes (en tout cas, un bon nombre) de l’option cmap, on
peut regarder la page Internet suivante :

[Link]

4.6 Export en PNG


Toutes les courbes tracées dans la fenêtre qui s’ouvre après compilation peuvent
être sauvegardées au format PNG en cliquant sur l’icône représentant une disquette
(ouais... une disquette !) en bas de la fenêtre.

4.7 Affichage dans un document LATEX


Il y a une subtilité que j’ai découverte en écrivant ce document : le code suivant
fonctionne correctement en le tapant directement dans la console Python.
22 Chapitre 4. Tracé de courbes

from pylab import *


from mpl_toolkits.mplot3d import Axes3D

ax = Axes3D(figure())
X = [Link](-1, 1, 0.025)
Y = [Link](-1, 1, 0.025)
X, Y = [Link](X, Y)
R = [Link](X**2 + Y**2)
ax.plot_surface(X, Y, R, rstride=1, cstride=1, cmap='bone')
savefig('[Link]', bbox_inches='tight')

La dernière ligne sauvegarde bien l’image créée. Mais pour créer un document en
LATEX avec le package pythontex, vous savez qu’il y a :
— une première compilation pdflatex ;
— un appel à un script Python qui s’appuie sur la première compilation ;
— une seconde compilation pdflatex
Ainsi, si vous tapez dans votre fichier source le code suivant :

Code LaTeX

\begin{pycode}
from pylab import *
from mpl_toolkits.mplot3d import Axes3D

ax = Axes3D(figure())
X = [Link](-1, 1, 0.025)
Y = [Link](-1, 1, 0.025)
X, Y = [Link](X, Y)
R = [Link](X**2 + Y**2)
ax.plot_surface(X, Y, R, rstride=1, cstride=1, cmap='bone')
savefig('[Link]', bbox_inches='tight')
\end{pycode}

\includegraphics{[Link]}

cela va produire une erreur car lors de la première compilation, l’image n’existe
pas encore.
4.7. Affichage dans un document LATEX 23

Une astuce est alors de mettre en en-tête du document :

Code LaTeX

\newif\ifpythontex
\newcommand{\includegraphicx}[2][]{%
\ifpythontex
\includegraphics[#1]{#2}
\fi
}
\pythontexfalse

et de mettre :

Code LaTeX

\includegraphicx[scale=1]{[Link]}

à la place de :

Code LaTeX

\includegraphics[scale=1]{[Link]}

En compilant une première fois, on laisse pythontexfalse pour indiquer que l’on
ne souhaite pas prendre en compte l’image et pour la seconde compilation, on
change en :

Code LaTeX

\pythontextrue

Et là, l’image apparaît.


24 Chapitre 4. Tracé de courbes
5
CHAPITRE

Opérations mathématiques

Dans ce chapitre, je ne parlerai que pas des opérations de base (+, −, ∗ et /).

5.1 Le module « math »


Pour faire appel aux opérations contenues dans ce module, on le charge :
import math

Il existe beaucoup d’opérations (de fonctions) dans ce module, et je ne vais parler


que des principales pour les élèves du lycée.

5.1.1 Les constantes

import math
print([Link])

affiche le nombre π.
Console
3.141592653589793

import math
print(math.e)

affiche le nombre e.
Console
2.718281828459045

25
26 Chapitre 5. Opérations mathématiques

import math
[Link]

désigne +∞.

5.1.2 Les fonctions


Racine carrée

import math
print([Link](3))

affiche une valeur approchée du nombre 3.
Console
1.7320508075688772

Puissances

import math
print([Link](3,5))

affiche le nombre 35 .
Console
243.0

Exponentielle

import math
print([Link](3))

affiche une valeur approchée du nombre e3 .


Console
20.085536923187668
5.1. Le module « math » 27

Logarithme népérien

import math
print([Link](3))

affiche une valeur approchée du nombre ln 3.


Console
1.0986122886681098

Logarithme décimal

import math
print(math.log10(3))

ln 3
affiche une valeur approchée du nombre log 3 = .
ln 10
Console
0.47712125471966244

Fonctions trigonométriques : sinus, cosinus, tangente


Les angles sont exprimés en radians.

import math
print([Link]([Link]/5))
π
affiche une valeur approchée du nombre cos .
5
Console
0.8090169943749475

import math
print([Link]([Link]/5))
π
affiche une valeur approchée du nombre sin .
5
28 Chapitre 5. Opérations mathématiques

Console
0.5877852522924731

import math
print([Link]([Link]/5))
π
affiche une valeur approchée du nombre tan .
5
Console
0.7265425280053609

Arccos, arcsin et arctan


Ici aussi, les angles sont en radians.

import math
print([Link](1/2))
1
affiche l’angle, en radians, dont le cosinus vaut .
2
Console
1.0471975511965979

import math
print([Link](1/2))
1
affiche l’angle, en radians, dont le sinus vaut .
2
Console
0.5235987755982989

import math
print([Link](1))

affiche l’angle, en radians, dont la tangente vaut 1.


Console
0.7853981633974483
5.1. Le module « math » 29

5.1.3 Conversions

Convertir un angle en degrés

import math
print([Link]([Link]/5))

π
convertit l’angle radians en degrés.
5
Console
36.0

Convertir un angle en radians

import math
print([Link](60))

convertit l’angle 60° en radians.

Console
1.0471975511965976

5.1.4 Fonctions arithmétiques

Pgcd de deux nombres entiers

import math
print([Link](78,152))

affiche pgcd (78 ; 152).

Console
2
30 Chapitre 5. Opérations mathématiques

Modulo

import math
print(5 % 3)

affiche 5 mod 3, c’est-à-dire le reste de la division euclidienne de 5 par 3.


Console
2

Quotient et reste

print(divmod(78,15)

affiche le quotient et le reste de la division euclidienne de 78 par 15.


Console
(5, 3)

C’est une fonction native de Python, donc définie même sans charger
! le module math.

Partie entière d’un nombre réel

print(int(78.152))

affiche la partie entière d’un nombre réel (c’est-à-dire ce qu’il y a avant la virgule).

Console
78

! Il n’est pas utile ici de charger le module math.


5.2. Le module « cmath » 31

Factorielle

import math
print([Link](12))

affiche 12 !, c’est-à-dire le résultat de 1 × 2 × 3 × 4 × · · · × 12.


Console
479001600

Valeur absolue

import math
print([Link](-89.23))

affiche | − 89, 23 | .
Console
89.23

5.2 Le module « cmath »


Ce module concerne les nombres complexes.

5.2.1 Formes cartésiennes, trigonométriques et exponen-


tielles
Définir un nombre complexe
Un nombre complexe z = a + ib peut être défini par sa partie réelle et sa partie
imaginaire ainsi :
import cmath
z = complex(a,b)
32 Chapitre 5. Opérations mathématiques

Obtenir le module et un argument

Si z = a + ib, alors le couple ( | z | ; arg z) est donné par :

import cmath
print([Link](complex([Link](3)/2,1/2)))
√ √
3 1 3 1
!!
affiche le couple + i ; arg + i .

2 2 2 2

Console
(0.9999999999999999, 0.5235987755982989)

Pour obtenir ces valeurs, des calculs sont faits et des fois, ils donnent
des
√ valeurs approchées. C’est le cas dans l’exemple précédent. En effet,
3 1
!
+ i = 1 mais la fonction retourne « 0.99999999. . . ». Il faut
2 2

donc faire preuve d’analyse quand besoin est.

Obtenir les parties réelle et imaginaire

import cmath
print([Link](2,[Link]/3))

π
renvoie la forme algébrique du nombre 2ei 3 .
Console
(1.0000000000000002+1.7320508075688772j)

Là encore, attention aux valeurs approchées.


! De plus, remarquez que « i » est remplacé par « j » dans Python.

5.3 Le module « random »


Ce module permet de faire intervenir le hasard (... enfin... presque !).
5.3. Le module « random » 33

5.3.1 Choisir un nombre entier aléatoire entre deux autres

import random
print([Link](1,20))

affiche un nombre entier aléatoire entre 1 et 20 (compris).


Console
20

5.3.2 Choisir un nombre aléatoire choisi dans une liste

import random
print([Link]([-1,1]))

affiche un nombre choisi aléatoirement parmi les valeurs informées (ici, −1 et 1).
Console
-1

5.3.3 Choisir un nombre réel aléatoire entre 0 et 1

import random
print([Link]())

Console
0.7828354120016724

5.3.4 Choisir un nombre réel aléatoire entre deux autres

import random
print([Link](0,10))

affiche un nombre réel compris entre 0 et 10 (compris).


Console
3.754766915954255
34 Chapitre 5. Opérations mathématiques

5.3.5 Choisir une lettre au hasard dans un mot

import random
print([Link]('ABCDEFGHIJKLMNOPQRSTUVWXYZ'))

affiche une lettre de l’alphabet au hasard.


Console
Q

5.3.6 Mélanger une liste

import random
items = ['a','b','c','d']
[Link](items)
print(items)

affiche une lettre de l’alphabet au hasard.


Console
[’c’, ’d’, ’b’, ’a’]

5.3.7 Choisir un sous-ensemble aléatoire

import random
print([Link]([1, 2, 3, 4, 5], 3))

affiche une liste de 3 éléments choisis au hasard dans la liste indiquée.


Console
[5, 3, 4]

Vous aimerez peut-être aussi