Je crée un programme Python pour déterminer si un nombre est premier ou non. C'est ce que j'ai:Le programme de nombres premiers de Python ne fonctionne pas
print("Please enter your number:")
number = int(input())
if number > 2:
for i in range (2,number):
if (number % i) == 0:
print(number, "is not prime")
break
else:
print(number, "is prime")
break
else:
print(number, "is not prime")
Cela fonctionne pour tous les cas d'utilisation sauf 2. Pourquoi? Et comment puis-je le réparer?
Cela ne _not_ travail pour "chaque cas d'utilisation sauf 2". Essayez avec le numéro 9. Vous avez 'print" est premier "' dans votre boucle, mais vous ne pouvez pas savoir qu'il est premier jusqu'à ce que toute la boucle soit terminée. En outre, vous sautez directement à "n'est pas premier" si le nombre est 2. – khelwood
Je l'ai réparé. J'ai dû mettre le "else: number is prime" en dehors de la boucle for. –