Une comparaison.
Quel sera le type de l'expression ci-dessous ? Quelle en sera la valeur ?
2/3 < 2//3
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
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)
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)))
type(2)==type(15)
Il s'agit cette fois d'une expression de type bool, valant True.