Adloun

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.