Erreur
Unni
-
grigou -
grigou -
Bonjour,
Je suis nouveau en python et pour découvrir le principe des fonctions, j'essaie d'en écrire une qui détermine si oui ou non un numéro entré est un nombre premier.
J'ai écrit ceci :
Cependant j'ai l'impression que la fonction
Merci d'avance.
Je suis nouveau en python et pour découvrir le principe des fonctions, j'essaie d'en écrire une qui détermine si oui ou non un numéro entré est un nombre premier.
J'ai écrit ceci :
m = input("""Entrez le chiffre à essayer: """) def testprim(n,p): n = float(n) p is True if float(n%1) != 0 or int(n) < 0 : p is False else : n = int(n) t = 2 while t<(n-1) : if (n%t) == 0 : p is False t = n else : t+=1 testprim(m,premier = True) if premier is True : print(m,"""est premier.""") else : print(m,"""n'est pas premier.""") input("""Entrez entrée pour fermer le programme.""")
Cependant j'ai l'impression que la fonction
testprimne parvient pas à fonctionner comme je le souhaite. S'il vous plaît, expliquez-moi la subtilité du problème.
Merci d'avance.
A voir également:
- Erreur
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
1 réponse
Bonjour, il y a beaucoup de problèmes dans ton script.
- Utilise au moins 2 espaces pour indenter ton code, en python la norme est de 4 espaces.
-
-
>>> False == 0
True
>>> False is 0
False
- Ta fonction doit tester si un nombre est premier, de là, il convient à ce qu'elle retourne un booléen, et un seul paramètre à cette fonction suffit, celui du nombre à tester.
- Utilise au moins 2 espaces pour indenter ton code, en python la norme est de 4 espaces.
-
testprim(m,premier = True)la fonction testprim n'a pas de paramètre premier, mais n et p.
-
p is Trueil y a confusion le mot clef is sert à tester l'égalité de valeur et d'objet, pas de faire une affectation, d'ailleurs mieux vaut éviter d'utiliser ce mot clef hors rares cas très spécifiques.
>>> False == 0
True
>>> False is 0
False
- Ta fonction doit tester si un nombre est premier, de là, il convient à ce qu'elle retourne un booléen, et un seul paramètre à cette fonction suffit, celui du nombre à tester.