Suite de nombres premiers
Un nombre premier est un entier naturel qui n’est divisible que par 1 et par lui-même (p. ex. 3, 7, 11, etc.). En revanche, 1 n’est pas un nombre premier.
Votre tâche consiste, étant donné une liste de nombres candidats cands, à ne conserver que les nombres premiers dans une nouvelle liste primes.
Mais d’abord, vous devez créer une fonction is_prime() qui renvoie True si le nombre d’entrée \(n\) est premier, ou False sinon. Pour cela, il suffit de vérifier qu’un nombre n’est divisible par aucun entier compris entre 2 et \(\sqrt{n}\).
Astuce : vous pourriez avoir besoin de l’opérateur % qui calcule le reste d’une division (p. ex. 8 % 3 vaut 2).
Le module math est déjà importé.
Cet exercice fait partie du cours
<cours>S’exercer aux questions d’entretien de code en Python</cours>Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
def is_prime(n):
# Define the initial check
if n < ____:
return ____
# Define the loop checking if a number is not prime
for i in range(____, ____):
if ____:
return False
return True