Accès rapide :
La vidéo
Utilisation du type float
Utilisation du caractère de séparation de groupes de chiffres
Les opérateurs utilisables sur vos valeurs flottantes
Les opérateurs arithmétiques
Les opérateurs de comparaisons
Les opérateurs d'affectation
Travaux pratiques
Les énoncés
Les corrections
Cette vidéo vous montre comment manipuler des données de type float dans vos programmes Python. Différents opérateurs et fonctions applicables aux valeurs flottantes vous seront présentés.
Bien entendu, le langage Python permet aussi de manipuler des valeurs flottantes.
C'est la classe float
qui permet de représenter ce type de valeurs.
Lancez un interpréteur en mode interactif et testez ces quelques lignes de code python.
>>> pi = 3.41592654 >>> type(pi) <class 'float'> >>> print(pi) 3.41592654 >>>
Notez tout de même que deux notations peuvent être utilisées pour définir vos valeurs flottantes : soit la notation décimale classique, soit la notation exponentielle. Voici un exemple d'utilisation de ces deux notations.
>>> first = 0.001 >>> print(first) 0.001 >>> second = 1e-3 >>> print(second) 0.001 >>>
>>> print(1e-3) 0.001 >>> print(1e-6) 1e-06 >>>
Si vous souhaitez contrôler la notation utilisée pour l'affichage de vos valeurs flottantes, il faudra utiliser des affichages formatés, comme le montre l'exemple ci-dessous.
>>> a = 0.001 >>> print(f"{a} - {a:e} - {a:.2e}") 0.001 - 1.000000e-03 - 1.00e-03 >>> >>> b = 5.2e-3 >>> print(f"{b} - {b:e} - {b:.2e}") 0.0052 - 5.200000e-03 - 5.20e-03 >>>
f""
permet de définir une chaîne de caractères formatées. Pour injecter une valeur dans une chaîne formatée,
on utiliser une paire d'accolades. Si on place un caractère :
dans les accolades, on peut alors contrôler le format
(type d'affichage, nombre de chiffres utilisés...). Nous reviendrons sur ces possibilités d'affichages formatés dans des prochains chapitres.
Vous pouvez utiliser la fonction input
pour demander la saisie d'une
valeur à partir de la console. Mais attention, cette fonction renvoie une chaîne de caractères. Si vous souhaitez obtenir une valeur flottante,
il faudra donc convertir la chaîne de caractères en une instance de la classe
float
. Voici comment procéder.
>>> str_value = input("Veuillez saisir une valeur numérique flottante : ") Veuillez saisir une valeur numérique flottante : 3.14 >>> value = float(str_value) # La conversion est faite ici >>> value 3.14 >>>
Tout comme pour les entiers, il est possible d'utiliser le caractère de séparation de groupes de chiffres. Vous pouvez l'utiliser aussi bien pour la partie entière que pour la partie flottante. Vous pouvez aussi l'utiliser avec la notation exponentielle. Voici un exemple d'utilisation.
>>> pi = 3.141_592_654 >>> print(pi) 3.141592654 >>> price = 1_000_000.99 >>> print(price, "euros") 1000000.99 euros >>>
A l'instar des entiers, vos valeurs flottantes peuvent être manipulées avec divers opérateurs. Vous disposez, bien entendu, des opérateurs arithmétiques, des opérateurs de comparaisons et des opérateurs d'affectations combinés. Voici quelques exemples d'utilisation.
>>> 3.7 + 1.7 5.4 >>> 1.5 / 1.2 1.25 >>> 2.1 ** 3.6 # Elévation à une puissance donnée 14.454046949052714 >>> 5.0 % 3.0 # Reste de la division entière par 3.0 2.0 >>> 2.1 == 1.8 # Opérateur d'égalité False >>> 2.1 != 1.8 # Opérateur de différence True >>> a = 15.5 >>> a += 3.8 >>> a 19.3 >>>
Le tableau ci-dessous vous propose quelques opérateurs arithmétiques que vous pouvez utiliser sur vos valeurs flottantes.
Opérateur | Description | Exemple |
---|---|---|
+ | Réalise l'addition de deux valeurs | value = 3.1 + 7.2 # 10.3 |
- | Réalise la soustraction de deux valeurs | value = 10.4 - 5.2 # 5.2 |
* | Réalise la multiplication de deux valeurs | value = 10.0 * 5.5 # 55.0 |
** | Elève une valeur à une puissance donnée | value = 2.1 ** 8.2 # 438.73 |
/ | Réalise la division de deux valeurs | value = 10.5 / 2.4 # 4.375 |
% | Calcule le reste de la division entière de deux valeurs flottantes | value = 5.0 % 3.0 # 2.0 |
Vous pouvez comparer deux flottants entre eux. Pour ce faire, différents opérateurs vous sont proposés. Voici la liste des six opérateurs de comparaison.
Opérateur | Description | Exemple |
---|---|---|
== | Vérifie si deux valeurs sont identiques | 3.1 == 7.2 # C'est faut |
!= | Vérifie si deux valeurs sont différentes | 3.1 != 7.2 # C'est vrai |
< | Vérifie si une valeur est inférieure à une autre | 3.1 < 7.2 # C'est vrai |
<= | Vérifie si une valeur est inférieure ou égale à une autre | 3.1 <= 7.2 # C'est vrai |
> | Vérifie si une valeur est supérieure à une autre | 3.1 > 7.2 # C'est faut |
>= | Vérifie si une valeur est supérieure ou égale à une autre | 3.1 >= 7.2 # C'est faut |
Voici la liste des opérateurs d'affectation combinés.
Opérateur | Description | Exemple | Equivalent à |
---|---|---|---|
= | Modifie le contenu d'une variable. | value = 10.2 |
|
+= | Ajoute au contenu d'une variable une autre valeur. | value += 1.1 |
value = value + 1.1 |
-= | Soustrait au contenu d'une variable une autre valeur. | value -= 2.5 |
value = value - 2.5 |
*= | Multiplie le contenu d'une variable par une valeur et stocke le résultat dans la variable. | value *= 2.3 |
value = value * 2.3 |
**= | Elève le contenu d'une variable à une puissance donnée et stocke le résultat dans la variable. | value **= 3.7 |
value = value ** 3.7 |
/= | Divise le contenu d'une variable par une valeur et stocke le résultat dans la variable. | value /= 2.5 |
value = value / 2.5 |
%= | Calcule le reste de la division entière du contenu d'une variable par une valeur et stocke le résultat dans la variable. | value %= 2.0 |
value = value % 2.0 |
Préambule : on transforme une température exprimée en degré Celsius en degré Fahrenheit en appliquant la formule suivante :
fahrenheit = celsius * 9/5 + 32
. Il en découle la formule inverse celsius = (fahrenheit - 32) * 5/9
, qui permet de convertir
une température exprimée en degré Fahrenheit en degré Celsius.
Exercice 1 : écrire un programme qui demande à l'utilisateur de saisir, à partir de la console, une température exprimée en degré Celsius et qui la convertie en une température en degré Fahrenheit.
Exercice 2 : écrire le programme inverse du précédent, qui demande à l'utilisateur de saisir une température exprimée en degré Fahrenheit et qui la convertie en une température en degré Celsius.
Bien entendu, essayez de faire ces exercices sans regarder directement la correction ci-dessous. ;-)
Exercice 1 : voici ma version d'un programme de conversion de degré Celsius en degré Fahrenheit.
1 2 3 4 |
temp_celsius = float(input("Veuillez saisir en température en degré Celsius : ")) temp_fahrenheit = temp_celsius * 9 / 5 + 32 print(temp_celsius, "°C =", temp_fahrenheit, "°F" ) |
Et voici les résultats produit par cet exemple de code.
$> python conversion.py Veuillez saisir en température en degré Celsius : 10.5 10.5 °C = 50.9 °F $>
Exercice 2 : et voici ma version d'un programme de conversion de degré Fahrenheit en degré Celsius.
1 2 3 4 |
temp_fahrenheit = float(input("Veuillez saisir en température en degré Fahrenheit : ")) temp_celsius = (temp_fahrenheit - 32) * 5 / 9 print(temp_fahrenheit, "°F =", temp_celsius, "°C" ) |
Et voici les résultats produit par cet exemple de code.
$> python conversion.py Veuillez saisir en température en degré Fahrenheit : 50.9 50.9 °F = 10.5 °C $>
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :