Arithmétique Avancée
Glissez pour afficher le menu
Découverte de la gestion par Python de la division entière et du modulo (y compris avec des nombres négatifs), ainsi qu'une exploration du module math pour les opérations numériques courantes.
Division entière (//)
Renvoie le plancher du quotient exact, c'est-à-dire que le résultat est arrondi à l'entier inférieur (et non simplement tronqué vers zéro).
Attention : pour les nombres négatifs, le résultat peut être inférieur à ce que l'on attend si l'on est habitué à la troncature. Par exemple, -7 // 3 donne -3 (car -2,333... est arrondi à -3, et non vers zéro).
12print(7 // 3) # 2 print(-7 // 3) # -3 (floors down: -2.333... → -3)
Pourquoi c'est important : indexation de blocs/pages, découpage du temps (heures à partir de secondes), et tout calcul du type « combien de groupes complets rentrent ».
Modulo %
Renvoie le reste de la division. En Python, le reste a toujours le même signe que le diviseur.
123print(7 % 3) # 1 print(-7 % 3) # 2 print(7 % -3) # -2
Pourquoi c'est important : sélection de "chaque Nième" élément, retour à zéro (par exemple, arithmétique d'horloge), parcours cyclique de groupes.
Exemples :
- Suivi des heures sur une horloge →
14 % 12 = 2- (14h ou 2 PM); - Sélection de chaque 3ème élément dans une liste →
if i % 3 == 0:.
Remarque rapide sur l'arrondi
La fonction intégrée round(x, ndigits) utilise la méthode "arrondi à la paire la plus proche".
12print(round(2.5), round(3.5)) # 2 4 print(round(2.675, 2)) # 2.67 (binary float nuance)
Le module math
Importer une fois et accéder à de nombreuses fonctions/constantes utiles.
123456import math print(math.floor(2.9), math.ceil(2.1), math.trunc(-2.9)) # 2 3 -2 print(math.sqrt(9)) # 3.0 print(math.pi, math.e) # 3.14159... 2.71828... print(math.isfinite(1.0), math.isfinite(float('inf'))) # True False
1. Quelle valeur ce code affichera-t-il ?
2. Quelle valeur ce code affichera-t-il ?
3. Quel appel retourne -3 ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion