0

So, I am a complete beginner in Python (and coding in general). I pretty much only know the complete basics but I tried to use them - without success.

I have two problems with this: 1. I can't get it to distinguish the difference between length and volume. 2. I can put in whatever units I want, but it'll always convert miles to kilometres.

Can anyone tell me how to do this?

inp = input("What do you wish to convert?\n")
if inp == "length" or "Length":
    print("Choose out of:\n- Miles\n- Kilometres\n- Metres\n- Centimetres\n- Millimetres\n- Micrometres\n- Nanometres\n- Yards\n- Feet\n- Inches")
    input("Which unit of length would you like to convert?\n")
    if inp == "miles" or "Miles":
            print("Choose out of:\n- Miles\n- Kilometres\n- Metres\n- Centimetres\n- Millimetres\n- Micrometres\n- Nanometres\n- Yards\n- Feet\n- Inches")
            inputmiles = input("What do you wish to convert miles to?\n")
            if inputmiles == "kilometres" or "Kilometres":
                inputmileskilometres = input("How many miles do you wish to convert to kilometres?\n") 
                iinputmileskilometres = int(inputmileskilometres)
                print(iinputmileskilometres, "miles equals", iinputmileskilometres * 1.60934, "kilometres.")
            elif inputmiles == "metres" or "Metres": 
                inputmilesmetres = input("How many miles do you wish to convert to metres?\n") 
                iinputmilesmetres = int(inputmilesmetres)
                print(iinputmilesmetres, "miles equals", iinputmilesmetres * 1609.34, "metres.")
            elif inputmiles == "centimetres" or "Centietres":
                inputmilescentimetres = input("How many miles do you wish to convert to centimetres?\n") 
                iinputmilescentimetres = int(inputmilescentimetres)
                print(iinputmilescentimetres, "miles equals", iinputmilescentimetres * 160934, "centimetres.")
            elif inputmiles == "millimetres" or "Millimetres":
                inputmilesmillimetres = input("How many miles do you wish to convert to millimetres?\n") 
                iinputmilesmillimetres = int(inputmilesmillimetres)
                print(iinputmilesmillimetres, "miles equals", iinputmilesmillimetres * 1609340.0007802, "millimetres.")
            elif inputmiles == "micrometres" or "Micrometres":
                inputmilesmicrometres = input("How many miles do you wish to convert to micrometres?\n") 
                iinputmilesmicrometres = int(inputmilesmicrometres)
                print(iinputmilesmicrometres, "miles equals", iinputmilesmicrometres * 1609340000.7802, "micrometres.")
            elif inputmiles == "nanometres" or "Nanometres":
                inputmilesnanometres = input("How many miles do you wish to convert to nanometres?\n") 
                iinputmilesnanometres = int(inputmilesnanometres)
                print(iinputmilesnanometres, "miles equals", iinputmilesnanometres * 1609340000780.1999512, "nanometres.")
            elif inputmiles == "yards" or "Yards":
                inputmilesyards = input("How many miles do you wish to convert to yards?\n") 
                iinputmilesyards = int(inputmilesyards)
                print(iinputmilesyards, "miles equals", iinputmilesyards * 1760, "yards.")
            elif inputmiles == "feet" or "Feet":
                inputmilesfeet = input("How many miles do you wish to convert to feet?\n") 
                iinputmilesteet = int(inputmilesfeet)
                print(iinputmilesfeet, "miles equals", iinputmilesfeet * 5280, "feet.")
            elif inputmiles == "inches" or "Inches":
                inputmilesinches = input("How many miles do you wish to convert to inches?\n") 
                iinputmilesinches = int(inputmilesinches)
                print(iinputmilesinches, "miles equals", iinputmilesinches * 63360, "inches.")
elif inp == "volume" or "Volume":
    print("Volume.") 

Btw. As you can see the code isn't finished yet, this is just the beginning with miles to anything else.

  • 1
    1. For a first try start with much shorter code. 2. You are incorrectly program logical expressions. It should be `if a==1 OR a==2` (`OR` between two ***logical expressions***). – PM 77-1 Feb 28 '20 at 23:40
  • When comparing strings it can be useful to use `.upper` or `.lower` to convert the string to upper- or lowercase. E.g. `if inp.lower() == 'length'` returns `True` for `Length` and `length` and `leNgth` etc – warped Feb 28 '20 at 23:44

0 Answers0