Exercice Python Corrigé - Partie 2

Bonjour, je suis débutant en python et j’ai essayé de réaliser l’exercice n°1 de la partie 2 des « exercices python corrigés ».

Cependant, je ne parvient pas à comprendre la correction de cette exercice. En effet, je connais déjà la fonction de l’opérateur modulo %, mais je ne comprends pas dans quelles cas opérateur associe à une opération (sous entendue une division) une valeur booléen (True/False).
En réalité je crois avoir compris que si l’opération renvoie un reste nul, alors c’est True, et inversement dans le cas contraire. J’aimerai avoir la confirmation de cette supposition, et je voudrai également savoir si d’autre opérateurs agissent de la même façon (en d’autres termes, si ils associe des valeurs booléens à des opérations). En vous remerciant d’avance

Je pense que vous avez problème avec l’opérateur not pas le modulo %, donc je vais vous expliquer.

not est un opérateur booléen qui renvoie l’inverse booléen de la valeur. return renvoie le résultat de cet opérateur. En d’autres termes, l’expression doit être lue comme return (not n % 5).

L’opérateur not renvoie True si son argument est faux, False sinon.

  • Si l’évaluation de n % 5 est égal à 0, alors la fonction retourne True.
  • Si l’évaluation de n % 5 n’est pas 0, alors la réponse est False.

Sachant que True == 1 et False == 0 en Python.

Exemple avec n=5 : (not n % 5) => (not 5 % 5) => (not 0) => True
Exemple avec n=3 : (not n % 5) => (not 3 % 5) => (not 1) => False

Conclusion: not 0 est alors True, not 1 (ou une valeur entière supérieure) vous donne False.

J’espère que vous avez compris :wink:.

return (not n % 5)

est équivalent à :

return False if n % 5 else True

Merci pour vos réponses. A présent j’ai compris.