Ecrire un programme de division euclidienne en Python 3

Fermé
Madibajamal Messages postés 14 Date d'inscription vendredi 23 décembre 2022 Statut Membre Dernière intervention 6 janvier 2023 - 28 déc. 2022 à 20:53
Madibajamal Messages postés 14 Date d'inscription vendredi 23 décembre 2022 Statut Membre Dernière intervention 6 janvier 2023 - 29 déc. 2022 à 16:59

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

A voir également:

7 réponses

jee pee Messages postés 40277 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 25 septembre 2024 9 348
28 déc. 2022 à 21:13

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

0
PierrotLeFou
28 déc. 2022 à 22:21

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

0
Madibajamal Messages postés 14 Date d'inscription vendredi 23 décembre 2022 Statut Membre Dernière intervention 6 janvier 2023
28 déc. 2022 à 22:31

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é.

0
blux Messages postés 26310 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 septembre 2024 3 300
28 déc. 2022 à 22:34

Salut,

5 n'est pas un diviseur de 42, en base 10...


0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question

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

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

0
Madibajamal Messages postés 14 Date d'inscription vendredi 23 décembre 2022 Statut Membre Dernière intervention 6 janvier 2023
29 déc. 2022 à 14:45

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

0
blux Messages postés 26310 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 25 septembre 2024 3 300
29 déc. 2022 à 16:03

@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... :-)

0
PierrotLeFou
29 déc. 2022 à 15:03

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

0
Madibajamal Messages postés 14 Date d'inscription vendredi 23 décembre 2022 Statut Membre Dernière intervention 6 janvier 2023
29 déc. 2022 à 16:59

Pierre,

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

merci beaucoup monsieur!

0