| @@ -0,0 +1,38 @@ | |||||
| import sys | |||||
| def convert(value, unit_in, unit_out): | |||||
| coefficient = get_coefficient(unit_in, unit_out) | |||||
| return value * coefficient | |||||
| def get_coefficient(unit_in, unit_out): | |||||
| distances = {"km": 1 / 1000, "miles": 1 / 1609, "m": 1} | |||||
| reciprocal_coefficient = 1 / distances[unit_in] | |||||
| return distances[unit_out] * reciprocal_coefficient | |||||
| def main(): | |||||
| try: | |||||
| value = sys.argv[1] | |||||
| unit_in = sys.argv[2] | |||||
| unit_out = sys.argv[3] | |||||
| except IndexError: | |||||
| print("Pas assez d'arguments") | |||||
| sys.exit(1) | |||||
| try: | |||||
| value = float(value) | |||||
| except ValueError: | |||||
| print("Le premier argument doit être un nombre") | |||||
| sys.exit(1) | |||||
| result = convert(value, unit_in, unit_out) | |||||
| print(f"{result:.2f}") | |||||
| if __name__ == "__main__": | |||||
| main() | |||||