Licence CC BY-NC-ND Thierry Parmentelat & Arnaud Legout Inria - UCA
exercice - niveau avancé¶
On se propose d’écrire une classe pour représenter les températures :
avec un constructeur qui prend exactement un paramètre nommé
Temperature(kelvin=0)aussi bien que
Temperature(celsius=0)
avec un attribut
kelvinet un attributcelsiuspour accéder en lecture ou en écriture à la valeur actuelle de la température, dans l’échelle choisie.
Note importante
Le système de correction automatique a besoin également que votre classe définisse son comportement vis-à-vis de repr() ; regardez les exemples pour voir la représentation choisie.
Pour simplifier cet aspect de l’exercice, on a choisi d’arrondir à 0°C = 273°K, et de ne manipuler que des valeurs entières.
from corrections.cls_temperature import exo_temperature
exo_temperature.example()Loading...
# votre code
class Temperature:
K = 273
def __init__(self, kelvin=None, celsius=None):
...
def __repr__(self):
return f"xxx"# correction
exo_temperature.correction(Temperature)Loading...
# peut-être utile pour debugger ?
K00 = Temperature()
K0 = Temperature(kelvin=0)K0 == K00FalseC0 = Temperature(celsius=0)
C00 = Temperature(kelvin=Temperature.K)C0 == C00FalseC0xxxC00xxx