Encapsulation d'une température
Exercice de TD · niveau 2 · NSI (terminale), chapitre 9 — La programmation orientée objet
Énoncé
Encapsulation d'une température.
Écrire une classe Thermometre stockant une température en degrés Celsius dans un attribut « privé ». Interdire toute valeur inférieure au zéro absolu (°C) et fournir un accesseur ainsi qu'une méthode en_fahrenheit.
Corrigé
class Thermometre:
def __init__(self, celsius=0):
self._celsius = 0
self.regler(celsius)
def regler(self, celsius):
if celsius < -273.15:
raise ValueError("sous le zero absolu")
self._celsius = celsius
def get_celsius(self):
return self._celsius
def en_fahrenheit(self):
return self._celsius * 9 / 5 + 32
t = Thermometre(25)
print(t.en_fahrenheit()) # 77.0
La conversion utilise la formule .
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.