Heim >Backend-Entwicklung >Python-Tutorial >Wie prüft man die Teilbarkeit in Python ohne die Fallstricke der Teilung?

Wie prüft man die Teilbarkeit in Python ohne die Fallstricke der Teilung?

DDD
DDDOriginal
2024-11-03 04:03:30580Durchsuche

How to Check Divisibility in Python Without the Division Pitfalls?

Prüfung der Teilbarkeit in Python: Eine andere Perspektive

Bei der Aufgabe, festzustellen, ob eine Zahl durch eine andere teilbar ist, reagieren viele Entwickler instinktiv greifen Sie auf Division und Überprüfung des Restes zurück. Dieser Ansatz kann jedoch zu Fallstricken führen, insbesondere im Zusammenhang mit Pythons vielfältiger Interpretation der Division.

In Python 2.x ist das Standardverhalten eine ganzzahlige Division, die den Rest verwirft. Dies bedeutet, dass Divisionsoperatoren immer eine Ganzzahl ergeben, unabhängig davon, ob ein Rest ungleich Null vorhanden ist. Daher bietet die Verwendung von isinstance zum Testen einer Ganzzahl keine sinnvolle Unterscheidung.

In Python 3.x hingegen verwendet die Division standardmäßig Gleitkommaoperationen, wodurch selbst für Gleitkommawerte erzeugt werden ganze Zahlen. Folglich schlägt die Instanzprüfung auch dann fehl, wenn die Zahl im mathematischen Sinne teilbar ist.

Ein besserer Weg: Moduloperator zur Rettung

Ein effektiverer Ansatz ist um den Moduloperator % zu verwenden. Der Ausdruck n % k == 0 gibt genau dann True zurück, wenn n gleichmäßig durch k teilbar ist. Diese Methode geht direkt auf das Teilbarkeitskriterium ein, ohne die Mehrdeutigkeiten, die mit der Teilung einhergehen.

Beispiellösung

Ausgerüstet mit diesem Wissen ändern wir Ihren Code, um die Teilbarkeit korrekt zu testen:

<code class="python">n = 0
s = 0

while n < 1001:
    if (n % 3 == 0) or (n % 5 == 0):
        s += n

    n += 1</code>

Diese Lösung verwendet den Moduloperator, um die Teilbarkeit durch 3 und 5 zu prüfen und so effektiv Zahlen herauszufiltern, die eine der beiden Bedingungen erfüllen. Das Ergebnis ist eine präzisere und robustere Lösung für Ihr ursprüngliches Problem.

Das obige ist der detaillierte Inhalt vonWie prüft man die Teilbarkeit in Python ohne die Fallstricke der Teilung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn