Conversion between length units. >>> length_conversion(4, "METER", "FEET") 13.12336 >>> length_conversion(4, "M", "FT") 13.12336 >>> length_conversion(1, "meter", "kilometer") 0.001 >>> length_conversion(1, "kilometer", "inch") 39370.1 >>> length_
(value: float, from_type: str, to_type: str)
| 56 | |
| 57 | |
| 58 | def length_conversion(value: float, from_type: str, to_type: str) -> float: |
| 59 | """ |
| 60 | Conversion between length units. |
| 61 | |
| 62 | >>> length_conversion(4, "METER", "FEET") |
| 63 | 13.12336 |
| 64 | >>> length_conversion(4, "M", "FT") |
| 65 | 13.12336 |
| 66 | >>> length_conversion(1, "meter", "kilometer") |
| 67 | 0.001 |
| 68 | >>> length_conversion(1, "kilometer", "inch") |
| 69 | 39370.1 |
| 70 | >>> length_conversion(3, "kilometer", "mile") |
| 71 | 1.8641130000000001 |
| 72 | >>> length_conversion(2, "feet", "meter") |
| 73 | 0.6096 |
| 74 | >>> length_conversion(4, "feet", "yard") |
| 75 | 1.333329312 |
| 76 | >>> length_conversion(1, "inch", "meter") |
| 77 | 0.0254 |
| 78 | >>> length_conversion(2, "inch", "mile") |
| 79 | 3.15656468e-05 |
| 80 | >>> length_conversion(2, "centimeter", "millimeter") |
| 81 | 20.0 |
| 82 | >>> length_conversion(2, "centimeter", "yard") |
| 83 | 0.0218722 |
| 84 | >>> length_conversion(4, "yard", "meter") |
| 85 | 3.6576 |
| 86 | >>> length_conversion(4, "yard", "kilometer") |
| 87 | 0.0036576 |
| 88 | >>> length_conversion(3, "foot", "meter") |
| 89 | 0.9144000000000001 |
| 90 | >>> length_conversion(3, "foot", "inch") |
| 91 | 36.00001944 |
| 92 | >>> length_conversion(4, "mile", "kilometer") |
| 93 | 6.43736 |
| 94 | >>> length_conversion(2, "miles", "InChEs") |
| 95 | 126719.753468 |
| 96 | >>> length_conversion(3, "millimeter", "centimeter") |
| 97 | 0.3 |
| 98 | >>> length_conversion(3, "mm", "in") |
| 99 | 0.1181103 |
| 100 | >>> length_conversion(4, "wrongUnit", "inch") |
| 101 | Traceback (most recent call last): |
| 102 | ... |
| 103 | ValueError: Invalid 'from_type' value: 'wrongUnit'. |
| 104 | Conversion abbreviations are: mm, cm, m, km, in, ft, yd, mi |
| 105 | """ |
| 106 | new_from = from_type.lower().rstrip("s") |
| 107 | new_from = TYPE_CONVERSION.get(new_from, new_from) |
| 108 | new_to = to_type.lower().rstrip("s") |
| 109 | new_to = TYPE_CONVERSION.get(new_to, new_to) |
| 110 | if new_from not in METRIC_CONVERSION: |
| 111 | msg = ( |
| 112 | f"Invalid 'from_type' value: {from_type!r}.\n" |
| 113 | f"Conversion abbreviations are: {', '.join(METRIC_CONVERSION)}" |
| 114 | ) |
| 115 | raise ValueError(msg) |