Types numériques

Qu'affiche ce programme ?


x = 5.1
b = x < 8
print(1 > 2, (x > 2 and x <= 4), b)
if b == True :
	print("Bravo !)

Remarque

Dans le programme ci-dessus, b étant lui-même un booléen, il n'est pas utile de mettre if b == True :, la condition if b : est suffisante.

Résolution de l'exercice " Une comparaison.".

Posons a = 1 > 2

et c = (x > 2 and x < 4)

a est donc de type booléen comme 1 est inférieur à 2, la valeur de a est False.

x < 8 est de type booléen comme 5.1 est inférieur à 8, le type de b est booléen et sa valeur est True.

Or, x > 2 mais x > 4 donc, la valeur de c est False.

Ainsi, à l'affichage on :

False  False   True
Bravo !

Une comparaison.

Quel sera le type de l'expression ci-dessous ? Quelle en sera la valeur ?


5/3 < 5//3

Résolution de l'exercice "Une comparaison.".

5/3 est de type float (approximation de 5/3). 5//3 est de type int (quotient entier de 5 par 3). La comparaison a donc lieu a priori entre un int et un float. Pour réaliser cette comparaison, le nombre de type int sera transformé en float avant la comparaison.

L'expression 5/3 < 5//3 est donc finalement le résultat d'une comparaison de deux "float" et sera donc de type bool (booléen).

Les affichages demandés ci-dessous permettent de mieux saisir les résultats :


a = (5/3 < 5//3)


print('Valeur de 5/3 : ', 5/3)
print('Type de 5/3 : ', type(5/3) )
print('Valeur de 5//3 : ', 5//3)
print('Type de 5//3 : ', type(5//3) )

print('Type de a : ', type(a) )
print('Valeur de a : ', a)

Réponse de python3 :

Valeur de 5/3 :  1.6666666666666667
Type de 5/3 :  <class 'float'>
Valeur de 5//3 :  1
Type de 5//3 :  <class 'int'>
Type de a :  <class 'bool'>
Valeur de a :  False

Types.

Quel sera le type de l'expression ci-dessous ? Quelle en sera la valeur ?


type(5)==type(5.0)

Même question avec l'expression ci-dessous :


type(7)==type(16)

Résolution de l'exercice "Type".

Cas 1.


type(5)==type(5.0)

retournera la valeur False puisque 5 est de type int et 5.0 de type float.

Utilisez print si vous ne testez pas sur un terminal.


print(type(5)==type(5.0))
Quant au type de l'expression globale, il s'obtient par :

type(type(5)==type(5.0))

Le type est bool.

Utilisez print si vous ne testez pas sur un terminal.


print(type(type(5)==type(5.0)))

Cas 2.


type(7)==type(16)

Il s'agit cette fois d'une expression de type bool, valant True.