Chapter 2.5 - If and more If - Else if?

Below is code that will get the temperature from the user and print if it is hot. 

temperature = int(input("What is the temperature in Celsius? ")) 
if temperature > 30:
    print("It is hot outside")
print("Done")

So you can in the first command we read the temperature from the keyboard and convert it to integer in one command instead of two :

temperature = input("What is the temperature in Celsius? ")
temperature = int(temperature)

What if we wanted to print that it is not hot outside? Of course we could insert another if statement but instead we can use the more advanced syntax of if command like the following example.

temperature = int(input("What is the temperature in Celsius? "))
if temperature > 30:
    print("It is hot outside")
else:
    print("It is not hot outside")
print("Done")

Or the even more advanced syntax using if, multiple else if and a final catch up all the rest else command like the following example.

temperature = int(input("What is the temperature in Celsius? "))
if temperature > 30:
    print("It is hot outside")
elif temperature < 12:
    print("It is cold outside")
else:
    print("It is not hot outside")
print("Done")

In the previous code , the program will output “It is hot outside” even if the user types in 50 degrees. Why? How can the code be fixed?