Professional Documents
Culture Documents
1. Modules
Python offre de trs nombreuses bibliothques de fonctions pr-dfinies pour raliser
des tches courantes. On a dj vu les fonctions input et print. Dautres fonctions sont
groupes dans ce qui sappelle des modules.
Contrairement aux fonctions print et input qui sont accessibles directement, pour pouvoir
utiliser une fonction dun module, il est ncessaire dimporter la fonction explicitement. Par
exemple, pour utiliser la fonction sin (sinus) du module math:
La ligne from math import sin indique que la fonction sin est importe du module math. Si on
souhaite importer toutes les fonctions du module math on peut crire:
Cette faon dimporter toutes les fonctions est pratique quand on utilise linterprte interactif,
mais peu recommande dans les programmes, car elle nuit aux performances et la
lisibilit. La mthode recommande est la suivante:
import math importe le module math, mais les fonctions du module ne sont pas accessibles
directement. Il faut alors utiliser le prfixe math. pour dsigner la fonction. Cette mthode
permet davoir des modules diffrents qui contiennent chacun une fonction du mme nom:
1
1.2. Le module math
Le module math offre les fonctions et les constantes mathmatiques usuelles, rsumes dans
ce tableau:
Python mathmatiques
math.factorial(n)
math.fabs(x)
math.exp(x)
math.log(x)
math.log10(x)
math.pow(x, y)
math.sqrt(x)
math.sin(x)
math.cos(x)
math.tan(x)
math.asin(x)
math.acos(x)
math.atan(x)
math.pi
math.e
La fonction random du module random permet dobtenir un nombre virgule flottante alatoire
entre 0.0 et 1.0:
La fonction randrange(n) permet dobtenir un nombre entier alatoire compris entre 0 (inclus)
et n (exclus):
2
>>> random.randrange(3)
0
>>> random.randrange(3)
0
>>> random.randrange(3)
2
Ces nombres sont en fait produits par un algorithme dterministe. Les lecteurs curieux
souhaitant comprendre la gnration de nombres pseudo-alatoires trouveront plus de
dtails dans le web (ex: articles dans Wikipdia).
On nutilisera pas dautres modules que math et random dans ce cours dintroduction, mais,
pour vous donner une ide de ce qui est disponible, voici une liste de modules trs
couramment utiliss:
Pour une liste plus exhaustive, vous pouvez consulter The Python Standard Library
2. Exercices
>>>
Entrez un nombre: 40
Ce nombre est trop petit
Entrez un nombre: 60
Ce nombre est trop grand
Entrez un nombre: 52
Ce nombre est trop grand
Entrez un nombre: 46
Bravo, vous avez trouv!
>>>
Entrez un nombre: 40
Ce nombre est trop petit
3
Entrez un nombre: 60
Ce nombre est trop grand
Entrez un nombre: 52
Ce nombre est trop grand
Entrez un nombre: 46
Bravo, vous avez trouv!
Nombre de tentatives: 4
>>>
Je propose 50
Ce nombre est il correct (=), petit (p), ou grand (g)? g
Je propose 25
Ce nombre est il correct (=), petit (p), ou grand (g)? p
Je propose 38
Ce nombre est il correct (=), petit (p), ou grand (g)? g
Je propose 32
Ce nombre est il correct (=), petit (p), ou grand (g)? =
4
CORRECTION DES EXERCICES
EX1
from random import randrange
i = 1
while i <= 15:
print(randrange(6))
i = i + 1
EX2
from random import randrange
somme = 0
i = 0
while i <= n:
somme = somme + randrange(6)
i = i + 1
def un_tirage():
return randrange(6) + randrange(6) + 2
n = 10000
i = 1
tirages7 = 0
while i <= n:
t = un_tirage()
if t == 7:
tirages7 = tirages7 + 1
i = i + 1
5
# La probabilit est 1/6
EX6
min = 0
max = 100
while True:
n = (min + max) // 2
print('Je propose', n)
r = input('Ce nombre est il correct (=), petit (p), ou grand (g)? ')
if r == '=':
print('Eh bien, je suis super content d''avoir trouv!')
break
if r == 'p':
min = n + 1
if r == 'g':
max = n