How to convert between mm, cm, meters, kilometers, miles, feet, yards, and inches in Python

1 Answer

0 votes
# Conversion functions (all convert *from meters* first)
def mmToMeters(mm):
    return mm / 1000.0

def cmToMeters(cm):
    return cm / 100.0

def kmToMeters(km):
    return km * 1000.0

def milesToMeters(mi):
    return mi * 1609.34

def feetToMeters(ft):
    return ft * 0.3048

def yardsToMeters(yd):
    return yd * 0.9144

def inchesToMeters(i):
    return i * 0.0254

# Convert meters → all units
def toMillimeters(m):
    return m * 1000.0

def toCentimeters(m):
    return m * 100.0

def toKilometers(m):
    return m / 1000.0

def toMiles(m):
    return m / 1609.34

def toFeet(m):
    return m / 0.3048

def toYards(m):
    return m / 0.9144

def toInches(m):
    return m / 0.0254


def main():
    print("Choose input unit:")
    print("1. Millimeters")
    print("2. Centimeters")
    print("3. Meters")
    print("4. Kilometers")
    print("5. Miles")
    print("6. Feet")
    print("7. Yards")
    print("8. Inches")
    choice = int(input("Enter choice: "))

    value = float(input("Enter value: "))

    # Convert chosen unit → meters
    if choice == 1:
        meters = mmToMeters(value)
    elif choice == 2:
        meters = cmToMeters(value)
    elif choice == 3:
        meters = value
    elif choice == 4:
        meters = kmToMeters(value)
    elif choice == 5:
        meters = milesToMeters(value)
    elif choice == 6:
        meters = feetToMeters(value)
    elif choice == 7:
        meters = yardsToMeters(value)
    elif choice == 8:
        meters = inchesToMeters(value)
    else:
        print("Invalid choice")
        return

    print(f"\nConverted from meters ({meters:.6f} m):")
    print(f"Millimeters: {toMillimeters(meters):.6f}")
    print(f"Centimeters: {toCentimeters(meters):.6f}")
    print(f"Meters:      {meters:.6f}")
    print(f"Kilometers:  {toKilometers(meters):.6f}")
    print(f"Miles:       {toMiles(meters):.6f}")
    print(f"Feet (Foot): {toFeet(meters):.6f}")
    print(f"Yards:       {toYards(meters):.6f}")
    print(f"Inches:      {toInches(meters):.6f}")


if __name__ == "__main__":
    main()


"""
run:

Choose input unit:
1. Millimeters
2. Centimeters
3. Meters
4. Kilometers
5. Miles
6. Feet
7. Yards
8. Inches
Enter choice: 4
Enter value: 1

Converted from meters (1000.000000 m):
Millimeters: 1000000.000000
Centimeters: 100000.000000
Meters:      1000.000000
Kilometers:  1.000000
Miles:       0.621373
Feet (Foot): 3280.839895
Yards:       1093.613298
Inches:      39370.078740

"""

 



answered 2 hours ago by avibootz

Related questions

...