Problème avec un modulo
Résolu
Thomas
-
Phil_1857 Messages postés 1883 Date d'inscription Statut Membre Dernière intervention -
Phil_1857 Messages postés 1883 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'ai fait un code simple pour déterminé si un nombre est pair ou non mais j'ai un problème avec mon modulo alors que je ne vois pas en quoi ça bloque. Si vous pouvez me dire l'erreur que je n'ai pas vu je veux bien. Merci beaucoup
Voici mon code :
Voici mon code :
a = int(input("saisir un nombre a :"))
l = []
for i in range(a):
if a%i == 0:
l.append(i)
if len(l) > 2:
print(a, "n'est pas un nombre premier")
elif len(l) == 2:
print(a, "est un nombre premier")
| Message modifié par la modération
Pour une lecture plus facile du code, à l'avenir utilisez les balises, VOIR CETTE PAGE |
3 réponses
-
Bonjour,
Il y a un problème d'indentation dans ce code, du moins tel qu'il st affiché ici
Sinon, le 1er i de la boucle for est égal à 0
donc a%i est comme une division par zéro -
Bonjour,
Un nombre pair ou un nombre premier ??
Car pour un nombre pair pas besoin de boucle, tester a % 2 == 0 suffit
Et tu devrais remettre ton code avec les balises comme indiqué plus haut car il n'y a pas les indentations, primordiales en Python.
-
Si c'est pour tester si c'est un nombre premier, moi je ferais ça:
def compose(n): for k in range(2,n): if(not n%k): return(True) return(False) a = int(input("saisir un nombre a :")) if(compose(a)): print('composé') else: print('premier')