Wie kann ich den Teilungsrest einer Zahl in Python finden?
Beispiel:
Wenn die Zahl 26 und die geteilte Zahl 7 ist, ist der Teilungsrest 5.
(da 7 + 7 + 7 = 21 und 26-21 = 5.)
Wie kann ich den Teilungsrest einer Zahl in Python finden?
Beispiel:
Wenn die Zahl 26 und die geteilte Zahl 7 ist, ist der Teilungsrest 5.
(da 7 + 7 + 7 = 21 und 26-21 = 5.)
Antworten:
Sie suchen den Modulo-Operator:
beispielsweise:
Natürlich wollten sie vielleicht, dass Sie es selbst implementieren, was auch nicht allzu schwierig wäre.
quelle
-10 % 3 == 2
. Diesa/b*b + a%b == a
gilt jedoch immer noch, da Python im Gegensatz zu einigen anderen Sprachen immer in Richtung -Infinity rundet, die in Richtung 0 runden, aber -1 zurückgeben würden.%
einen echten Modul ausführt, der Werte für den Bereich zurückgibt[0, divisor)
und sich gut mit der Bodenteilung (in Richtung negativer Unendlichkeit) paart. C-Sprachen verwenden den%
Operator für Restoperationen, die Werte für den Bereich zurückgeben(-divisor, divisor)
und gut mit der Standarddivision (gegen Null) koppeln.Der Rest einer Division kann mit dem Operator ermittelt werden
%
:Falls Sie sowohl den Quotienten als auch das Modulo benötigen, gibt es die eingebaute
divmod
Funktion:quelle
26% 7 (Sie erhalten den Rest)
26/7 (Sie erhalten Divisor kann Float-Wert sein)
26 // 7 (Sie erhalten nur einen ganzzahligen Divisor-Wert))
quelle
Wenn Sie Quotienten und Rest in einer Codezeile erhalten möchten (allgemeinerer Anwendungsfall), verwenden Sie:
quelle
Wenn Sie Modulo vermeiden möchten, können Sie auch eine Kombination der vier Grundoperationen verwenden :)
quelle
Ab Python 3.7 gibt es eine neue
math.remainder()
Funktion:Ausgabe:
Beachten Sie, wie oben, es ist nicht dasselbe wie
%
.Zitieren der Dokumentation :
Issue29962 beschreibt die Gründe für das Erstellen der neuen Funktion.
quelle
Verwenden Sie beim Teilen das% anstelle des /. Dies wird den Rest für Sie zurückgeben. Also in deinem Fall
quelle
Modulo wäre die richtige Antwort, aber wenn Sie es manuell tun, sollte dies funktionieren.
quelle
Wir können dies lösen, indem wir den Moduloperator (%) verwenden.
26% 7 = 5;
aber 26/7 = 3, weil es einen Quotienten gibt, aber der% -Operator den Rest gibt.
quelle
Den Rest finden Sie mit dem Modulo-Operator Beispiel
Es wird 4 gedruckt
quelle
Wenn Sie den Rest Ihres Teilungsproblems möchten, verwenden Sie einfach die tatsächlichen Restregeln, genau wie in der Mathematik. Zugegeben, dies gibt Ihnen keine Dezimalausgabe.
Wenn Sie dies in einem Taschenrechnerformat machen möchten, ersetzen Sie es einfach
valone = 8
durchvalone = int(input("Value One"))
. Machen Sie dasselbe mitvaltwo = 3
, aber offensichtlich mit verschiedenen Vairables.quelle
valone/valtwo
auf int werfen . Andernfalls wird eine Gleitkommazahl erstellt.Sie können eine Funktion definieren und sie als Rest mit 2 Werten wie rem (Nummer1, Nummer2) aufrufen, die Nummer1% Nummer2 zurückgeben. Erstellen Sie dann eine Weile und setzen Sie sie auf true. Drucken Sie dann zwei Eingaben für Ihre Funktion aus, die Nummer 1 und 2 enthalten, und drucken Sie dann (rem (Nummer1, Nummer2)
quelle