def celsius_vers_fahrenheit(c): """Convertit une température c en degrés Celsius vers des degrés Fahrenheit.""" return c * 9 / 5 + 32 def etat_eau(c): """Renvoie l'état de l'eau (solide, liquide ou gazeux) à la température c en °C.""" if c <= 0: return "solide" elif c < 100: return "liquide" return "gazeux" def bulletin_meteo(ville, c): """Affiche un bulletin en utilisant celsius_vers_fahrenheit() et etat_eau().""" f = celsius_vers_fahrenheit(c) # appel à la 1re fonction etat = etat_eau(c) # appel à la 2e fonction print("À", ville, ":", c, "°C, soit", f, "°F. L'eau y est à l'état", etat) # Tests des deux premières fonctions assert celsius_vers_fahrenheit(0) == 32 assert celsius_vers_fahrenheit(100) == 212 assert etat_eau(-5) == "solide" assert etat_eau(25) == "liquide" assert etat_eau(100) == "gazeux" # Programme principal bulletin_meteo("Les Sables-d'Olonne", 22) bulletin_meteo("Oslo", -8) # ------------------------------------------------------------ # EXERCICE : construire une 4e fonction # ------------------------------------------------------------ # Écrire la fonction conseil_tenue(c) qui renvoie : # - "manteau" si la température c est strictement inférieure à 10 °C, # - "pull" si elle est comprise entre 10 °C (inclus) et 20 °C (exclu), # - "t-shirt" si elle est supérieure ou égale à 20 °C. # # Bonus : modifier bulletin_meteo() pour qu'elle affiche aussi # le conseil de tenue en appelant conseil_tenue(). def conseil_tenue(c): pass # à compléter # Ces tests doivent passer sans erreur une fois la fonction écrite : # assert conseil_tenue(5) == "manteau" # assert conseil_tenue(10) == "pull" # assert conseil_tenue(19) == "pull" # assert conseil_tenue(20) == "t-shirt"