Do interger always converted to float before calculations made?

In this excercise number_of_coffees is of type int. While printing out the result is float.
Do int values are always converted to float before calculations?
Also why does coffee_price is printed out 1.5 not 1.50 ?. need little clarification on precision.

As like

coffee_price = 1.50
number_of_coffees = 4

# Prints "6.0"
print(coffee_price * number_of_coffees) #calculates (1.50 * 4.0)
# Prints "1.5"
print(coffee_price)

No it does not change the type of the input.
The type of the result depends on the type of the input. A float input will give a float result. Also it depends on the operator you use in your calculation.

Here is a in depth explanation on this stuff and some try-out blocks.