Lesson 2
Numéros entiers et flottants
1. Arithmétique entière
Nous connaissons déjà les opérateurs suivants qui peuvent être appliqués aux nombres: +
, -
, *
et **
. L'opérateur de division /
pour les nombres entiers donne un nombre réel à virgule flottante (un objet de type float
). L'exponentiation **
renvoie également un flottant lorsque la puissance est négative:
print(17 / 3) # donne 5.66666666667 print(2 ** 4) # donne 16 print(2 ** -2) # donne 0,25
Il existe une opération spéciale pour la division entière où le reste est ignoré: //
. L'opération qui donne le reste d'une telle division ressemble à %
. Les deux opérations donnent toujours un objet de type int
.
print(17 / 3) # donne 5.66666666667 print(17 // 3) # donne 5 print(17 % 3) # donne 2
2. Nombres à virgule flottante
Lorsque nous lisons une valeur entière, nous lisons une ligne avec input()
, puis nous transtypons une chaîne en entier en utilisant int()
. Lorsque nous lisons un nombre à virgule flottante, nous avons besoin de lancer la chaîne pour flotter en utilisant float()
:
x = float(input()) print(x)
Les flotteurs de très grande ou très petite valeur absolue peuvent être écrits en utilisant une notation scientifique. Par exemple, la distance entre la Terre et le Soleil est de 1.496 · 10 11 ou 1.496e11
en Python. La masse d'une molécule de l'eau est de 2,99 · 10 -23 , ou 2.99e-23
en Python.
On peut lancer des objets flottants dans des objets int en supprimant la partie fraction en utilisant la fonction int()
. Cette fonction démontre ce que l'on appelle arrondi vers un comportement nul :
print(int(1.3)) # donne 1 print(int(1.7)) # donne 1 print(int(-1.3)) # donne -1 print(int(-1.7)) # donne -1
Il y a aussi une fonction round()
qui effectue l'arrondi habituel:
print(round(1.3)) # donne 1 print(round(1.7)) # donne 2 print(round(-1.3)) # donne -1 print(round(-1.7)) # donne -2
Les nombres réels à virgule flottante ne peuvent pas être représentés avec une précision exacte en raison des limitations matérielles. Cela peut entraîner des effets gênants. Voir les documents Python pour les détails.
print(0.1 + 0.2) # donne 0.30000000000000004
3. module de maths
Python a beaucoup de fonctions auxiliaires pour les calculs avec des flottants. Ils peuvent être trouvés dans le module de math
.
Pour utiliser ce module, nous devons d'abord l'importer en écrivant l'instruction suivante au début du programme:
import math
Par exemple, si nous voulons trouver une valeur plafond pour x
- le plus petit nombre entier non inférieur à x
- nous appelons la fonction appropriée du module math: math.ceil(x)
. La syntaxe pour appeler des fonctions à partir de modules est toujours la même: module_name.function_name(argument_1, argument_2, ...)
import math x = math.ceil(4.2) print(x) print(math.ceil(1 + 3.8))
Il existe une autre façon d'utiliser les fonctions des modules: importer les fonctions spécifiques en les nommant:
from math import ceil x = 7 / 2 y = ceil(x) print(y)
Certaines des fonctions traitant des nombres - int()
, round()
et abs()
(valeur absolue aka module) - sont intégrées et ne nécessitent aucune importation.
Toutes les fonctions de tout module Python standard sont documentées sur le site officiel de Python. Voici la description du module de mathématiques . La description de certaines fonctions est donnée:
Fonction | La description |
---|---|
Arrondir | |
floor(x) | Retourne le plancher de x, le plus grand entier inférieur ou égal à x. |
ceil(x) | Retourne le plafond de x, le plus petit entier supérieur ou égal à x. |
Racines et logarithmes | |
sqrt(x) | Retourne la racine carrée de x |
log(x) | Avec un argument, renvoyez le logarithme naturel de x (à la base e). Avec deux arguments, renvoyez le logarithme de x à la base donnée |
e | La constante mathématique e = 2,71828 ... |
Trigonométrie | sin(x) | Retourne le sinus de x radians |
asin(x) | Retourne l'arcsine de x, en radians |
pi | La constante mathématique π = 3.1415 ... |