Practice makes perfect 6/15


#1



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

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

Waiting for an HELP !

Bis repetita


def est_premier(x):
    if x < 2:
        return False
    else:
        for n in range(2, x):
            if x % n == 0:
                return False
            else:
                return True
print est_premier(5)


#2

There are two concerns in the above code.

  1. The loop is returning True if it doesn't return False. This should not be happening in the loop. It should only return True if the loop completes without finding a divisor.
  2. This function will return False for 2, which is a Prime.

Consider,

1. La boucle est de retour Vrai si elle ne retourne pas Faux. Cela ne devrait pas se produire dans la boucle. Il ne doit retourner Vrai si la boucle se termine sans trouver un diviseur.
2. Cette fonction retourne Faux pour 2, qui est un premier.

Considérer,

def est_premier(x):
    if x < 2:
        return False
    elif x > 2:
        for n in range(3, x):
            if x % n == 0:
                return False
    return True

#3

Bonsoir.
Merci.
Mais Cela ne fonctionne pas non plus.


#4

Et voici le message d'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.


#5

The code that I gave tests as correct. However there is a bug in the SCT (Submission Correctness Test) for this exercise.

A member submitted a work around for this.

Le code que j'ai donné des tests comme correct. Cependant, il y a un bogue dans l'SCT (Soumission Correctness Test) pour cet exercice.

Un membre a présenté un travail autour de cela.

def est_premier(x):
    if x < 2:
        return False
    elif x > 2:
        for n in range(3, x):
            if x % n == 0:
                return False
    return True

print est_premier(2)    # True

def est_premier(n):
    return est_premier

#6

Thank you very much Roy.
It was a Bug.
Now it works.


#7

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