convertisseur d'unité avec dictionnaire (Python)
Je veux construire un convertisseur d'unité et jusqu'à présent, j'ai fait ceci:units = {"mm": {"mm": 1, "cm": 1 / 10, "m": 1 / 1000, "km": 1 / 1000000}, "cm": {"mm": 10, "cm": 1, "m": 1 / 100, "km": 1 / 100000}, "m": {"mm": 1000, "cm": 100, "m": 1, "km": 1 / 1000}, "km": {"mm": 1000000, "cm": 100000, "m": 1000, "km": 1}}
Mais je ne sais pas quelles devraient être mes prochaines étapes, tout conseil sera apprécié car j'utilise pour la première fois un dictionnaire et je ne sais pas comment l'utiliser correctement. Merci d'avance.
Solution du problème
Ajusté sur votre base, essayez-le
def unit_conversion(data, unit_to):
units = {
"mm": {"mm": 1, "cm": 1 / 10, "m": 1 / 1000, "km": 1 / 1000000},
"cm": {"mm": 10, "cm": 1, "m": 1 / 100, "km": 1 / 100000},
"m": {"mm": 1000, "cm": 100, "m": 1, "km": 1 / 1000},
"km": {"mm": 1000000, "cm": 100000, "m": 1000, "km": 1}
}
unit = "".join([item for item in data if item in "cmk"])
num = data.rstrip(unit).strip()
return "{}{}".format(float(num) * units.get(unit).get(unit_to), unit_to)
print(unit_conversion("12341cm", "km"))
Commentaires
Enregistrer un commentaire