Integer and float numbers - Learn Python 3 - Snakify

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
Advertising by Google, may be based on your interests

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
Advertising by Google, may be based on your interests

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 ...
Advertising by Google, may be based on your interests