I want to create a procedure show if a given number prime
what i have tried so far :
def premier(a):
isPrimary=False
for i in range(2,a//2):
if(a%i==0):
isPrimary=True
break
if(isPrimary==True):
print(a,'est un nbre premier')
else:
print(a,'non premier')
c = int(input("Donner un nbre"))
premier(c)
test failed :
Donner un nbre8 8 est un nbre premier
which is not prime
CodePudding user response:
i think you're talking about prime numbers right ? - so numbers only divisable by themselfs and 1. In that case you could use:
def is_prime(n):
for i in range(2,n):
if (n % i) == 0:
return False
return True
CodePudding user response:
Vous vous trompez d'état. Ce sera a%i != 0 s'il n'est pas égal à zéro alors premier si zéro alors pas premier. Ou vous pouvez définir isPrimary= False dans la condition que vous avez donnée. J'espère que cela fonctionnera.
In english: You make a mistake in in condition. It will be a%i != 0 if it not equal zero then prime if zero then not prime. Or you can set isPrimary= False inside the condition you gave. I hope it will work.
def premier(a):
isPrimary=False
for i in range(2,a//2):
if(a%i!=0):
isPrimary=True
break
if(isPrimary==True):
print(a,'est un nbre premier')
else:
print(a,'non premier')
c = int(input("Donner un nbre"))
premier(c)
Or,
def premier(a):
isPrimary=False
for i in range(2,a//2):
if(a%i==0):
isPrimary=False
break
if(isPrimary==True):
print(a,'est un nbre premier')
else:
print(a,'non premier')
c = int(input("Donner un nbre"))
premier(c)