Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
Den här utvecklingskatalogen är arkiverad. Du kan se filer och klona katalogen, men inte öppna ärenden eller genomföra push- eller pull-förfrågningar.
 
 
 
 
 
 

39 rader
798 B

  1. import sys
  2. def convert(value, unit_in, unit_out):
  3. coefficient = get_coefficient(unit_in, unit_out)
  4. return value * coefficient
  5. def get_coefficient(unit_in, unit_out):
  6. distances = {"km": 1 / 1000, "miles": 1 / 1609, "m": 1}
  7. reciprocal_coefficient = 1 / distances[unit_in]
  8. return distances[unit_out] * reciprocal_coefficient
  9. def main():
  10. try:
  11. value = sys.argv[1]
  12. unit_in = sys.argv[2]
  13. unit_out = sys.argv[3]
  14. except IndexError:
  15. print("Pas assez d'arguments")
  16. sys.exit(1)
  17. try:
  18. value = float(value)
  19. except ValueError:
  20. print("Le premier argument doit être un nombre")
  21. sys.exit(1)
  22. result = convert(value, unit_in, unit_out)
  23. print(f"{result:.2f}")
  24. if __name__ == "__main__":
  25. main()