Python: int (3.0) = 2

Observe o seguinte programa python

def goo(y,x):
    y = float(y)
    x = float(x)
    yup = (y - x - 1) / x
    yup = str(yup)
    yup = yup.split(".")
    decimal = "." + yup[1]
    decimal = float(decimal)
    output = decimal / (1/x)

    print output
    print int(output)

goo(9,5)

Quando o programa executa "saída de impressão", a resposta é 3,0

Quando o programa executa "print int (output)", a resposta é 2

"print int (output)" deve ser executado para fornecer 3, não 2

Por que isso está acontecendo?

questionAnswers(1)

yourAnswerToTheQuestion