Écrivez un programme qui convertit des valeurs du système métrique en valeurs du système de mesure américain. On fournit des mesures à votre programme, en mètres, grammes ou degrés Celsius et vous devez les convertir respectivement en pieds, livres et degrés Fahrenheit.
Voici les règles de conversion à utiliser :
On vous donne sur la première ligne le nombre de conversions à effectuer, puis sur les lignes suivantes la valeur à convertir, et son unité : m
, g
ou c
(avec une espace entre les deux).
Affichez en sortie les valeurs converties, suivies d'une espace et de leur unité : p
, l
ou f
.
Il n'est en fait pas judicieux d'écrire des fonctions pour résoudre cet exercice : le mieux est de définir des constantes. Vous pouvez aussi profiter de cet exercice pour expérimenter l'instruction « selon », switch dans certains langages.
entrée :
4 12.3 m 1245.243 g 37.2 c 23 g
sortie :
40.354331 p 2.745761 l 98.960000 f 0.050715 l
On va définir trois fonctions de conversions, et utiliser un dictionnaire pour appeler la bonne fonction.
def mètres_vers_pieds(x): return (x/0.3048, "p") def grammes_vers_livres(x): return (x*0.002205, "l") def celsius_vers_fahrenheit(x): return (32 + 1.8*x, "f") conversions = {'m':mètres_vers_pieds, 'g':grammes_vers_livres, 'c':celsius_vers_fahrenheit} nb_conversions = int(input()) for _ in range(nb_conversions): nombre_en_chaîne, unité_origine = input().split() x = float(nombre_en_chaîne) y, unité_arrivée = conversions[unité_origine](x) print(y, unité_arrivée)