Werfen Sie einen Blick auf diese:Python seltsam int Verhalten
print 41063625 ** (1.0/3) # cube-root(41063625) = 345
print int(345.0)
print int(41063625 ** (1.0/3))
Es gibt:
345.0
345
344
Ich war die letzte Zeile erwartet 345
zu sein, da ich int(41063625 ** (1.0/3))
erwartete, um gleich int(345.0)
zu Drehen Sie gleich 345
, wie die anderen beiden Ausgänge vorschlagen. Dies ist jedoch offensichtlich nicht der Fall. Kann mir jemand einen Einblick geben, was hier vor sich geht?
Ah in Ordnung, das macht Sinn - wusste nicht, dass es eine Eigenschaft von 'print' war, so zu runden. Vielen Dank! – arshajii
Es könnte illustrativ sein, die Ausgabe von 'str (41063625 ** (1.0/3))' zu posten, da das ist, was 'print' tatsächlich druckt. – mgilson
@mgilson: Danke; so hinzugefügt. – unutbu