The code is as follows: # A simple program that converts different units of temperature! original = input("What type of temperature would you like to convert from? >> ").lower() from_degrees = float(input("How many degrees? >> ")) to = input("What type of temperature would you like to convert to? >> ").lower() if original=="celsius": if to=="fahrenheit": to_degrees = (from_degrees * (9 / 5)) + 32 elif to=="kelvin": to_degrees = from_degrees + 273.15 elif original=="fahrenheit": if to != "fahrenheit": to_degrees = (from_degrees - 32) * (5 / 9) if to=="kelvin": to_degrees = to_degrees + 273.15 # If the person inputs anything other than fahrenheit for the 'to' value, we have to convert to Celsius first so that we can get Kelvin. Two conversions in one! elif original=="kelvin": if to != "kelvin": to_degrees = from_degrees - 273.15 if to=="fahrenheit": to_degrees = (to_degrees * (9 / 5)) + 32 # Similar to Fahrenheit --> Kelvin, we have to convert to Celsius if they input either Celsius OR Fahrenheit, so why not do it whenever "to" is not Kelvin? else: to_degrees = "The unit you are converting from is not a valid unit of temperature." if to != "celsius" and to != "fahrenheit" and to != "kelvin": to_degrees = "The unit you are converting to is not a valid unit of temperature." print(str(to_degrees)) It takes a unit, a number of degrees in that unit, and a unit to be converted into, then prints the output. Leave suggestions in the comments and point out flaws! I just started using Python so don't like... send me to the dark void of space for making a small error, or something, idk.