Ne peux pas valider le 8 2 6


#1

https://www.codecademy.com/fr/courses/python-intermediate-fr-FR-py0yl/0/6?curriculum_id=5370f030fed2a866a2000001#

def est_premier(x):
	verite = True
	for n in range(2, x-1):
		if x % n == 0:
			verite = False
			break
	return verite

Erreur: Oups, merci de réessayer. Votre fonction a échoué sur 0 comme entrée car votre fonction indique "'bool' object is not callable" error.


#2

0 et 1 ne sont pas des nombres premiers, mais votre code les identifie comme premier. Fournir un bloc if pour gérer ces cas.

Cependant, il y a aussi un bug dans le test de Codecademy pour cet exercice. Après avoir une solution correcte, ajoutez ceci à la fin de votre code ...

# Workaround
def est_premier(x):
    return est_premier

#3

def est_premier(x):
	verite = True
	if x == 0 or x == 1:
		verite = False
	else:
		for n in range(2, x-1):
			if x % n == 0:
				verite = False
	print(verite)
			
est_premier(9)

Merci pour la correction et pour le code de déblocage


#4

Cette ligne de code ...

    print(verite)

... doit être ...

    return verite

... et cette ligne ...

est_premier(9)

... doit être ...

print est_premier(9)

#5

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.