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. Pierre,

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

    merci beaucoup monsieur!

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

      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. 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. Comment écrirais-tu:
          a n'est PAS un diviseur de B ET b n'est PAS un diviseur de a

          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")