Rundung auf ein benutzerdefiniertes Intervall in Python
In Python wird die integrierte Funktion „round()“ häufig zum Runden numerischer Werte verwendet. Es basiert jedoch auf einem Rundungsschema zur Basis 10, das möglicherweise nicht immer für bestimmte Anforderungen geeignet ist. Wenn Sie beispielsweise Zahlen auf das nächste Vielfache von 5 runden möchten, ist die Standardfunktion „round()“ nicht geeignet.
Um dieses Problem zu beheben, kann eine benutzerdefinierte Funktion erstellt werden, die Werte auf ein bestimmtes Intervall rundet . Um beispielsweise Zahlen auf das nächste Vielfache von 5 zu runden, können wir die folgende Funktion definieren:
def myround(x, base=5):
return base * round(x / base)
Diese Funktion benötigt zwei Parameter: x ist die zu rundende Zahl und base ist das benutzerdefinierte Rundungsintervall (standardmäßig 5). Die Funktion dividiert zunächst x durch die Basis, um einen ganzzahligen Quotienten zu erhalten. Dadurch wird sichergestellt, dass das Ergebnis auf das nächste Vielfache der Basis gerundet wird. Abschließend wird das Ergebnis mit der Basis multipliziert, um die anfängliche Division auszugleichen.
Hier ist ein Beispiel für die Funktionsweise der Funktion myround():
print(myround(10)) # 10
print(myround(12)) # 10
print(myround(13)) # 15
print(myround(14)) # 15
print(myround(16)) # 15
print(myround(18)) # 20
Wie in der Ausgabe gezeigt, rundet die Funktion die angegebenen Zahlen auf das nächste Vielfache von 5. Dieses benutzerdefinierte Rundungsverhalten ermöglicht es Ihnen, den Rundungsprozess an bestimmte Anforderungen anzupassen, ohne sich darauf verlassen zu müssen zur Standardfunktionalität der Funktion „round()“.
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