Maison > développement back-end > Tutoriel Python > Comment vérifier la divisibilité en Python sans les pièges de la division ?

Comment vérifier la divisibilité en Python sans les pièges de la division ?

DDD
Libérer: 2024-11-03 04:03:30
original
603 Les gens l'ont consulté

How to Check Divisibility in Python Without the Division Pitfalls?

Vérification de la divisibilité en Python : une perspective différente

Face à la tâche de déterminer si un nombre est divisible par un autre, de nombreux développeurs instinctivement recourir à la division et vérifier le reste. Cependant, cette approche peut conduire à des pièges, en particulier dans le contexte de l'interprétation variée de la division par Python.

Dans Python 2.x, le comportement par défaut est la division entière, qui ignore le reste. Cela signifie que les opérateurs de division donneront toujours un entier, quelle que soit la présence d'un reste non nul. Par conséquent, utiliser isinstance pour tester un entier ne fournit pas de discrimination significative.

Dans Python 3.x, en revanche, la division utilise par défaut des opérations à virgule flottante, produisant des valeurs à virgule flottante même pour nombres entiers. Par conséquent, la vérification isinstance échouera même lorsque le nombre est divisible au sens mathématique.

Une meilleure voie : l'opérateur de module à la rescousse

Une approche plus efficace est pour utiliser l'opérateur de module, %. L'expression n % k == 0 renvoie True si et seulement si n est également divisible par k. Cette méthode aborde directement le critère de divisibilité sans les ambiguïtés associées à la division.

Exemple de solution

Armés de ces connaissances, modifions votre code pour tester correctement la divisibilité :

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

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

    n += 1</code>
Copier après la connexion

Cette solution utilise l'opérateur de module pour vérifier la divisibilité par 3 et par 5, filtrant efficacement les nombres qui remplissent l'une ou l'autre des conditions. Le résultat est une solution plus précise et robuste à votre problème d'origine.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal