Ecrire un programme de division euclidienne en Python 3

Bonjour,

Correction de mon code python :

Énoncé : 

Écrire un programme qui lit en entrée deux nombres entiers strictement positifs, et qui vérifie qu’aucun des deux n’est un diviseur de l’autre.

Si tel est bien le cas, le programme imprime True. Sinon, il imprime False

voici mon code :

a = int(input()) > 0
b = int(input()) > 0

if a // b and a % b == 1:
    print("True")
else:
    print("False")

merci pour votre aide


Macintosh / Firefox 105.0

7 réponses

  1. Modérateur

    Bonjour,

    Tu devrais commencer par afficher les valeurs que tu testes

    a = int(input()) > 0
    b = int(input()) > 0
    print(a,b)
    print(a//b)
    print(a%b)
    if a // b and a % b == 1:
        print("True")
    else:
        print("False")

    1. Comment écrirais-tu:
      a n'est PAS un diviseur de B ET b n'est PAS un diviseur de a

      1. Bonjour,

        merci pour votre aide.

        Cependant votre code ne fonctionne pas.

        Avec les valeurs : 6 et 42 le resultat doit afficher : False et avec 5 et 42 => True.

        Merci d'avoir essayé.

        1. Et ceci?
          if a % b != 0 and b % a != 0:   # relativement premiers

          @blux: tu as raison pour la base 7: 4*7+2=30

          1. Bonjour Pierre

            Et un grand merci!

            en effet c'est le signe != qu'il fallait utiliser ici pour exprimer "n'est pas un diviseur"

            Dis moi tu es developpeur Python?

            au plaisir de te lire et encore merci.

            Madiba

          2. Modérateur

            @blux: tu as raison pour la base 7

            C'est sans doute pour cela que j'ai écrit ma réponse de cette façon... :-)

        2. Développeur Python? Non, pas vraiment. Je suis un analyste en informatique à la retraite.

          1. Pierre,

            je pensais que vous étiez encore en activité en tout cas vous avez encore l'esprit vif!!!

            merci beaucoup monsieur!