Vous êtes sur la page 1sur 3

Classe temperateur

March 9, 2023

1 Definition de la classe Temperature


[1]: class Temperature :
"""
"""
__valeur = 0
def __init__(self, v=0, ttype='C'):
v = float(v)
if ttype == 'C' :
self.__valeur = v
elif ttype == 'K' :
self.__valeur = v - 273.15
elif ttype == 'F' :
self.__valeur = (v - 32) / 1.8
else :
raise ValueError("le paramètre ttype ne peut etre que : 'C', 'K' ou␣
↪'F' ")

def __str__(self):
return '{:.2f} °C, {:.2f} °F, {:.2f} °K'.format(self.__valeur, self.
↪fahrenheit, self.kelvin)

@property
def celsius(self):
return self.__valeur

@celsius.setter
def celsius(self, v):
self.__valeur = v

@property
def fahrenheit(self):
return self.__valeur *1.8 + 32

@fahrenheit.setter
def fahrenheit(self, v):
self.__valeur = (v - 32)/1.8

1
@property
def kelvin(self):
return self.__valeur + 273.15

@kelvin.setter
def kelvin(self, v):
self.__valeur = v -273.15

def __gt__(self, autre):


return self.__valeur > autre.__valeur

def __ge__(self, autre):


return self.__valeur >= autre.__valeur

def __eq__(self, autre):


return self.__valeur == autre.__valeur

2 Constructeur et affichage
[2]: t1 = Temperature()
t2 = Temperature(18)
t3 = Temperature(10, ttype='C')
t4 = Temperature(273.15, ttype='K')
t5 = Temperature(32,ttype='F')
print(t1, t2, t3, t4, t5, sep ='\n')

0.00 °C, 32.00 °F, 273.15 °K


18.00 °C, 64.40 °F, 291.15 °K
10.00 °C, 50.00 °F, 283.15 °K
0.00 °C, 32.00 °F, 273.15 °K
0.00 °C, 32.00 °F, 273.15 °K

3 Accesseurs et mutateurs
[3]: t1.celsius = 13
t2.kelvin = 333
t3.fahrenheit = 95
print(t1.fahrenheit, t2.kelvin, t3.celsius)

55.400000000000006 333.0 35.0

2
4 Operateurs de comparaison
[4]: print(t4 == t5, t4 != t5, t1 == t2, t1 != t2)
# affiche : True False False True
print(t4 < t5, t1 < t2, t5 > t4, t2 > t1)
# affiche : False True False True
print(t4 <= t5, t1 <= t2, t2 >= t1, t4 >= t5)

True False False True


False True False True
True True True True

Vous aimerez peut-être aussi