Types numériques

Une comparaison.

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


2/3 < 2//3

2/3 est de type float (approximation de 2/3). 2//3 est de type int (quotient entier de 2 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 2/3 < 2//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= (2/3 < 2//3)


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

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

Réponse de python3 :

Valeur de 2/3 :  0.6666666666666666
Type de 2/3 :  class 'float'
Valeur de 2//3 :  0
Type de 2//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(3)==type(3.0)

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


type(2)==type(15)

Cas 1.


type(3)==type(3.0)

retournera la valeur False puisque 3 est de type int et 3.0 de type float.

Utilisez print si vous ne testez pas sur un terminal.


print(type(3)==type(3.0))

Quant au type de l'expression globale, il s'obtient par :


type(type(3)==type(3.0))

Le type est bool.

Utilisez print si vous ne testez pas sur un terminal.


print(type(type(3)==type(3.0)))

Cas 2.


type(2)==type(15)

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