25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
Bu depo arşivlendi. Dosyaları görüntüleyebilir ve klonlayabilirsiniz ama işlem gönderemez ve konu/değişiklik isteği açamazsınız.
 
 
 
 
 
 

39 satır
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()