Skip to content

La fonction 𝐦‌𝐚‌𝐭‌𝐡‌.𝐦‌𝐨‌𝐝‌𝐟‌() vous permet d’obtenir simultanément les parties fractionnaires et entières d’un nombre.

Pour une fonction qui renvoie le quotient et le reste, consultez l’article suivant sur 𝐝‌𝐢‌𝐯‌𝐦‌𝐨‌𝐝‌() .

Obtenir des parties fractionnaires et entières en utilisant math.modf()

La fonction 𝐦‌𝐚‌𝐭‌𝐡‌.𝐦‌𝐨‌𝐝‌𝐟‌() vous permet d’obtenir simultanément les parties fractionnaires et entières d’un nombre.

𝐦‌𝐚‌𝐭‌𝐡‌.𝐦‌𝐨‌𝐝‌𝐟‌() un tuple renvoyé au format (𝐟‌𝐫‌𝐚‌𝐜‌𝐭‌𝐢‌𝐨‌𝐧‌𝐚‌𝐥‌ 𝐩‌𝐚‌𝐫‌𝐭‌, 𝐢‌𝐧‌𝐭‌𝐞‌𝐠‌𝐞‌𝐫‌ (𝐩𝐚𝐫𝐞𝐧𝐭) .

import math print(math.modf(1.5)) print(type(math.modf(1.5))) # (0.5, 1.0) # <class 'tuple'> 
source: math_modf.py

Vous pouvez affecter chaque partie à une variable à l’aide du déballage. Les parties fractionnaires et entières sont toutes deux de type de données 𝐟‌𝐥‌𝐨‌𝐚‌𝐭‌ .

f, i = math.modf(1.5) print(i) print(f) # 1.0 # 0.5 print(type(i)) print(type(f)) # <class 'float'> # <class 'float'> 
source: math_modf.py

Le signe des pièces correspondra à celui de la valeur d’origine.

f, i = math.modf(-1.5) print(i) print(f) # -1.0 # -0.5 
source: math_modf.py

𝐦‌𝐚‌𝐭‌𝐡‌.𝐦‌𝐨‌𝐝‌𝐟‌() peut également être appliqué à 𝐢‌𝐧‌𝐭‌ . Là encore, les parties fractionnaires et entières sont 𝐟‌𝐥‌𝐨‌𝐚‌𝐭‌ .

f, i = math.modf(100) print(i) print(f) # 100.0 # 0.0 
source: math_modf.py

Pour vérifier si un 𝐟‌𝐥‌𝐨‌𝐚‌𝐭‌ est un entier (ce qui signifie que la partie fractionnaire est 0), vous pouvez utiliser la méthode 𝐢‌𝐬‌_𝐢‌𝐧‌𝐭‌𝐞‌𝐠‌𝐞‌𝐫‌() pour 𝐟‌𝐥‌𝐨‌𝐚‌𝐭‌ sans obtenir la partie fractionnaire. Consultez l’article suivant pour plus d’informations.

Obtenez des parties fractionnaires et entières sans module mathématique

En appliquant 𝐢‌𝐧‌𝐭‌() à un nombre à virgule flottante, vous pouvez obtenir sa partie entière. Par conséquent, vous pouvez extraire à la fois les parties fractionnaires et entières.

a = 1.5 i = int(a) f = a - int(a) print(i) print(f) # 1 # 0.5 print(type(i)) print(type(f)) # <class 'int'> # <class 'float'> 
source: math_modf.py