Importer un module

Par défaut, Python ne charge pas en mémoire l'ensemble de toutes les instructions possibles. D'abord parce qu'il y en a un nombre considérable et qu'il est évident que vous n'aurez pas besoin de les utiliser toutes. Ensuite parce que python est un langage évolutif et que le nombre d'instructions que Python peut exécuter augmente avec le temps et avec les contributions de ses utilisateurs. La configuration par défaut est donc sommaire mais souvent suffisante lorsqu'on débute. Néanmoins, vous pourrez avoir besoin d'instructions un peu plus "spécialisées". Pour pouvoir le faire, il faudra importer le module correspondant (on dit aussi la bibliothèque).

exemple 1

Dans l'exemple 1, on essaie d'affecter la valeur égale à la racine carrée de 2 (square root en anglais, sqrt en langage python). Mais cette instruction ne fait pas partie des instructions intégrées par défaut. L'interpréteur ne la reconnait donc pas

En ajoutant la première ligne (exemple 2), on indique qu'il faut aller chercher l'instruction sqrt dans le module math

Cette "importation" de l'instruction se fait au début du script

exemple 2

exemple 3

exemple 3

Lorsqu'on veut utiliser une autre instruction du module math (dans l'exemple 3, accéder à la constante pi), il est bien sur nécessaire d'importer également cette nouvelle fonction dès le départ. Comme vous pouvez le constater, l'instruction round() , qui renvoie un arrondi, est une fonction intégrée par défaut qui n'a donc pas besoin d'être importée.

exemple 4

Un autre moyen plus radical est d'importer d'un coup toutes les instructions du module math ( import * signifie import all ).

Le module math

Comme son nom l'indique, cette bibliothèque contient plusieurs fonctions mathématiques qui ne font pas partie des instructions intégrées par défaut.

  • Vous y trouverez les fonctions racine carrée, puissances réelles, sinus et cosinus, exponentielles, logarithmiques, entre autres

  • Vous y trouverez les constantes pi ou e

  • Vous y trouverez aussi la factorielle, les combinaisons et quelques fonctions arithmétiques

Le module random

Cette bibliothèque regroupe plusieurs instructions spécialisées dans la modélisation du hasard

Pour le moment, contentons nous de mettre en avant deux fonctions particulièrement utiles en programmation

  • random() renvoie un nombre aléatoire à virgule flottante de l'intervalle [ 0 ; 1[

  • randint(a,b) renvoie un nombre aléatoire entier entre les deux entiers a et b (inclus tous les deux)


exemple 5

Recopiez et exécutez plusieurs fois de suite le script proposé dans l'exemple 5. Comme vous pourrez le constater, x est un nombre aléatoire entre 0 et 1 et n est un entier compris entre 20 et 25, 20 et 25 étant des valeurs que n peut prendre

EXERCICES

Exercice 1: A l'aide de l'instruction input(), demander la valeur du rayon d'un cercle en cm (float). Afficher ensuite la valeur arrondie au centième de la circonférence et de la surface du cercle, avec leurs unités respectives.

Exercice 2: A l'aide d'une boucle for, simuler le lancer de 5 dés. Afficher le résultat de chacun des cinq dés puis le résultat de leur somme

Exercice 3: A l'aide d'une boucle while, écrire un script qui détermine le nombre d'essais nécessaires pour obtenir la valeur 7 pour la première fois, lorsqu'on tire un entier aléatoire entre 1 et 10 inclus (le nombre d'essais nécessaires change à chaque exécution puisqu'il s'agit d'une expérience aléatoire)

Correction exercice 1

# un script possible

from math import pi

r = float(input('donne la valeur du rayon en cm: '))

circ = round(2*pi*r,2)

aire = round(pi*r*r,2)

print('la circonférence du cercle mesure',circ,'cm')

print("l'aire du cercle mesure",aire,'cm2')


Correction exercice 2

# un script possible

from random import randint

somme = 0

print('les 5 dés donnent: ', end='')

for i in range(5):

D = randint(1,6)

print(D, end=' ')

somme = somme + D

print()

print('leur somme vaut:',somme)


Correction exercice 3

# un script possible

from random import randint

n,essai = 1,0

while n!=7:

n = randint(1,10)

essai = essai+1

print('il a fallu ',essai,' tirages pour obtenir 7')