Gibt es trotzdem einen Bruch, z. 2/3 oder 1/2, in Python ohne das math
Modul zu importieren?
Das Code-Snippet ist einfach:
%Vor% Außergewöhnlich einfacher Code, aber überall, wo ich hinsehe, wird mir gesagt, dass ich das math
-Modul importieren soll. Ich möchte dieses Snippet nur in einen größeren Code einfügen, an dem ich gerade arbeite. Ich bekomme 1 als Antwort, weil Python sich wie 1/3 eher 0 als .333333333 fühlt. Ich könnte .33333 setzen, aber das ist nur eine vorübergehende Lösung und ich möchte wissen, wie man diese sehr einfache Berechnung für zukünftige Projekte durchführt.
Sie können from __future__ import division
verwenden, um ganzzahlige Division-Return-Floats zu erzeugen, wo dies notwendig ist (so dass 1/3 zu 0,3333333 ... führt).
Auch ohne dies zu tun, kannst du deinen Bruchwert erhalten, indem du 1.0/3
anstelle von 1/3
machst. (Die 1.0
macht die erste Zahl zu einem Gleitkommawert und nicht zu einer Ganzzahl, wodurch die Division funktioniert.)
In der Standardbibliothek gibt es ein Bruchsmodul, das verschiedene Bruchteile ausführen kann. Wenn Sie viele Berechnungen für Brüche haben, können Sie diese durchführen, ohne sie in Float zu konvertieren. Ссылка
Fügen Sie einfach einen Dezimal- und Bruchteil hinzu, um die Operation in eine Gleitkommazahl umzuwandeln:
%Vor% Oder verwenden Sie explizit float
:
Oder verwenden Sie den Python 3-Spaltungsstil:
%Vor%Jede dieser drei Methoden funktioniert. Ich bevorzuge das erste.