„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie rundet man Zahlen in Python auf eine bestimmte Basis (nicht nur 5)?

Wie rundet man Zahlen in Python auf eine bestimmte Basis (nicht nur 5)?

Veröffentlicht am 02.11.2024
Durchsuche:687

How to Round Numbers to a Specific Base in Python (Not Just 5)?

Runden auf 5 (oder eine andere Zahl) in Python

In Python rundet die integrierte Rundungsfunktion auf die nächste ganze Zahl. Es ist jedoch möglich, mit dem folgenden Ansatz eine benutzerdefinierte Funktion zu erstellen, die auf eine bestimmte Zahl (z. B. 5) rundet:

Python 3

def myround(x, base=5):
    return base * round(x/base)

Diese Funktion funktioniert, indem sie zunächst die Eingabezahl x durch die Basiszahl dividiert (standardmäßig 5). Dadurch wird sichergestellt, dass die resultierende Zahl eine korrekt gerundete ganze Zahl ist. Die Funktion multipliziert dann die gerundete Zahl mit der Basiszahl, um das gerundete Ergebnis zu erhalten.

Python 2

In Python 2 muss die Funktion float() verwendet werden um sicherzustellen, dass die Divisionsoperation (/) eine Gleitkommadivision durchführt. Darüber hinaus ist eine abschließende Konvertierung in int erforderlich, da „round()“ in Python 2 einen Gleitkommawert zurückgibt.

def myround(x, base=5):
    return int(base * round(float(x)/base))

Durch die Bereitstellung eines Basisparameters mit dem Standardwert 5 wird die Funktion allgemeiner und ermöglicht das Runden auf jede gewünschte Zahl.

Diese benutzerdefinierte Funktion kann verwendet werden, um Zahlen auf eine beliebige angegebene Zahl zu runden, nicht nur auf 5. Der folgende Code rundet beispielsweise Zahlen auf die nächsten 10:

myround(23, 10)  # Output: 20
myround(47, 10)  # Output: 50
Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729212915 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3