Python: int (3.0) = 2

Beobachten Sie das folgende Python-Programm

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)

Wenn das Programm "Druckausgabe" ausführt, lautet die Antwort 3.0

Wenn das Programm "print int (output)" ausführt, lautet die Antwort 2

"print int (output)" sollte ausgeführt werden, um 3 zu liefern, nicht 2

Warum passiert dies

Antworten auf die Frage(2)

Ihre Antwort auf die Frage