I don't understand your question. What output did you get from the above code, and what output did you expect? I would expect:

because 4.78 is passed into a function that takes an int, so the function receives the value 4, which is then assigned to the float p, which is displayed in print().