IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Boucle dans ma liste (debutant)


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Deficient visuel
    Inscrit en
    Mai 2019
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Deficient visuel

    Informations forums :
    Inscription : Mai 2019
    Messages : 196
    Points : 37
    Points
    37
    Par défaut Boucle dans ma liste (debutant)
    Bonjour a tous ,
    Apres quelques recherches infructueuses , je ne parviens pas a touver ce qui coince .
    Merci de votre aide .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    def premier(n):
        for i in range(2, n):
        	if n % i == 0 and n == 1:
            	return "Nombre non entier !"
        return "Nonbre entier"	
     
    print("Entrez un nombre ou 1 pour quitter")
    while True:
    	try:
    		valeur = int(input())
    		if valeur == 1:
    			break
    		assert valeur > 0
    	except AssertionError:
    		print("Le nombre doit etre supérieur a 0 ")
    	except ValueError:
    		print("Vous devez entrer un chiffre !")
     
    liste = []	
    liste = liste.append(valeur)
     
    for test in range(len(liste)):
    	print(f"{test:10} -> {premier(test)}")

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    J'ai vu au moins ça:
    Les 2 lignes "liste = ..." doivent être dans le while, et donc indentées comme le try:.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 046
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 046
    Points : 1 376
    Points
    1 376
    Par défaut
    c'est sensé faire quoi ?

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Salut,

    Citation Envoyé par chris7522 Voir le message
    Apres quelques recherches infructueuses , je ne parviens pas a touver ce qui coince .
    Quand votre programme ne fait pas ce que vous attendiez et que vous ne comprenez pas pourquoi, ajoutez des affichages qui vous montrent sa progression (çà exécute séquentiellement des instructions dont en attendant de savoir lire Python dans le texte, visualiser ce qu'il se passe est votre seule option).

    Ajoutez par exemple un prompt à input i.e. ligne 10 valeur = int(input('??: ')). Il devrait vous permettre de constater que vous n'arrivez pas à la ligne 19 (et si problème de liste il y a - et il y a - c'est un plus tard qui n'arrive pas).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Deficient visuel
    Inscrit en
    Mai 2019
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Deficient visuel

    Informations forums :
    Inscription : Mai 2019
    Messages : 196
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par tyrtamos Voir le message
    Les 2 lignes "liste = ..." doivent être dans le while, et donc indentées comme le try:.
    Merci de ton aide . Je l'ai mis dans le while et au meme niveau d'indentation que le try mais ca compile pas

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Deficient visuel
    Inscrit en
    Mai 2019
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Deficient visuel

    Informations forums :
    Inscription : Mai 2019
    Messages : 196
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par josmiley Voir le message
    c'est sensé faire quoi ?
    C'est un exemple stupide qui ne sert pas a grand chose .
    - Je demande a la personne de taper autant de nombres qu'elle désire , lorsqu'elle en a marre , elle tape le 1 par exemple puisque ce n'est pas un nombre premier , le 0 n'est pas permis .
    - Ensuite la fonction (si elle est correcte!) renvoie pour chaque nombre s'il est premier ou pas .

  7. #7
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par chris7522 Voir le message
    Merci de ton aide . Je l'ai mis dans le while et au meme niveau d'indentation que le try mais ca compile pas
    J’aurais dû prendre plus de temps toute à l’heure. Il faut bien sûr placer la ligne liste=[] avant le while et non indentée.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Deficient visuel
    Inscrit en
    Mai 2019
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Deficient visuel

    Informations forums :
    Inscription : Mai 2019
    Messages : 196
    Points : 37
    Points
    37
    Par défaut
    Lorsque je tape 1 pour arreter , j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    chris@chris:~/Bureau/Essai$ python3 essai37.py
    Entrez un nombre ou 1 pour quitter
    88
    45
    7
    f
    Vous devez entrer un chiffre !
    77
    1
    Traceback (most recent call last):
      File "essai37.py", line 22, in <module>
        for test in range(len(liste)):
    TypeError: object of type 'NoneType' has no len()
    chris@chris:~/Bureau/Essai$

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Citation Envoyé par chris7522 Voir le message
    Lorsque je tape 1 pour arreter , j'ai ceci
    Si vous ne montrez pas le nouveau code...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  10. #10
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour

    La dernière erreur vient de la ligne: liste = liste.append(valeur), puisque append modifie la liste, mais renvoie None. Il suffit de "liste.append(valeur)"

    Il y a d'autres erreurs dans ce code. Par exemple:

    - la fonction premier(n) est fausse car elle renvoie toujours "Nombre entier" (et pas Nombre premier?) à cause de la condition n==1 => il faut supprimer cette condition, mais en faisant ça, 1 ressort "premier" ce qui est faux, et il faut donc traiter avant les cas n<2 puisqu'il n'y a aucun nombre premier en dessous de 2. En faisant ça, le résultat est correct, mais la fonction est très inefficace.

    - la ligne "liste.append(valeur)" doit être remontée juste après assert et à la même indentation, sinon, le programme plante malgré le "try:" quand on entre une chaine de caractères

    - l'affichage des résultats est faux: la ligne "for test in range(len(liste)):" donne les valeurs 0,1,2,.. c'est à dire les indices de la liste et non ses valeurs. Il faut mettre: "for test in liste:"

    Aucune chance de programmer de cette façon. Il faut commencer par apprendre avant de faire: il y a de la doc et des tutos:
    la doc officielle: https://docs.python.org/fr/3/
    un des tutos: https://python.developpez.com/cours/apprendre-python3/
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  11. #11
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par chris7522 Voir le message
    Apres quelques recherches infructueuses , je ne parviens pas a touver ce qui coince .
    Alors ce qui coince principalement, c'est ce if n % i == 0 and n == 1 (un petit peu de réflexion ne ferait pas de mal sur le sens de la conjonction de coordination "et").

    Quelques détails ensuite. Eux ils ne coincent pas mais n'aident pas non plus:
    • généralement on aime bien séparer l'état d'une chose et l'affichage de cet état (ce qu'on nomme la programmation "MVC"). Ainsi si une fonction doit retourner un truc "est/n'est pas", on préfèrera lui faire retourner True/False qui sont des conventions universelles en informatique. Et c'est l'appelant qui gèrera ce retour True/False pour (au choix) afficher un truc à l'écran, enregistrer un truc en bdd, dans un log, envoyer un mail, etc. Autrement dit, ce return "Nombre non entier !"" ou "Nonbre entier" n'est pas terrible vu d'une part qu'il s'agit d'une fonction destinée à détecter si un nombre est premier ou pas (et non s'il est entier ou pas !!!) et d'autre part qu'il fait appel à une convention de français pour que l'appelant sache ce qui est ou n'est pas au lieu d'une convention informatique (sans compter cette magnifique faute d'orthographe qui n'aidera pas à analyser le retour si cette analyse doit de faire via un automate)
    • au lieu de sortir sur 1 (qui de fait ne sera jamais testé par la fonction alors que l'appelant peut très bien avoir envie de tester cette valeur), autant faire sortir sur 0 ou un nombre négatif. Ou pourquoi pas sur un mot clef comme "quit" ou encore mieux un ctrl-c si on intercepte l'exception KeyboardInterrupt
    • étant donné qu'hormis 2, un nombre pair n'est pas premier, autant tester ce cas dès le départ ce qui permettra ensuite de ne tester que les diviseurs impairs => on gagnera la moitié des tests
    • étant donné que si "n" n'est pas premier, on trouvera alors deux nombres "p" et "q" tels que "p*q=n". Fatalement l'un des deux sera plus petit que l'autre (ou au pire égal dans le cas d'un carré parfait). Ca veut donc dire que si on trouve le plus petit des deux, pas besoin de chercher le plus grand. Ca veut donc dire que si on arrive à un moment où "n // i" devient plus petit que "i" sans avoir trouvé, plus besoin de chercher on ne trouvera plus => on gagne encore la moitié des tests. Faudra juste tester le nombre 3 à part car lui il échappe à cette règle
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Deficient visuel
    Inscrit en
    Mai 2019
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Deficient visuel

    Informations forums :
    Inscription : Mai 2019
    Messages : 196
    Points : 37
    Points
    37
    Par défaut
    Merci beaucoup d'avoir pris le temps de toutes ces explications .
    Ce que j'ai tenté de faire est truffé d'erreurs , je ne suis clairement pas capable de faire quoique ce soit pour le moment, je vais donc continuer mon apprentissage .
    Merci pour la doc et les tutos , en ce moment je suis une formation sur les bases de python :
    https://www.fun-mooc.fr/courses/cour...ession02/about

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Deficient visuel
    Inscrit en
    Mai 2019
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Deficient visuel

    Informations forums :
    Inscription : Mai 2019
    Messages : 196
    Points : 37
    Points
    37
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    #!/usr/bin/env python3
    def est_premier(nombre):
        i = 2
        if nombre == 1:
            return False
        while i < nombre and nombre % i != 0 :
            i += 1
            if i == nombre:
                return True
     
    while True:
        try:   
            nombre = int(input("Entrez un nombre entier : "))
            assert nombre > 0
        except AssertionError:
            print("Le nombre doit etre supérieur a 0 ")
        except ValueError:
            print("Entrez un nombre entier positif !")
        else:
            break   
    if est_premier(nombre) :   
        print("Le nombre est premier") 
    else:
        print("Nombre pas premier")

  14. #14
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Salut,

    Vous voyez que vous n'êtes pas si nul...
    2 remarques cependant, relisez ce bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    def est_premier(nombre):
        i = 2
        if nombre == 1:
            return False
        while i < nombre and nombre % i != 0 :
            i += 1
            if i == nombre:
                return True
    à l'intérieur de la boucle vous savez que i < nombre, inutile de le tester à chaque itération.

    Pour ce qui est de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    while True:
        try:   
            nombre = int(input("Entrez un nombre entier : "))
            assert nombre > 0
        except AssertionError:
            print("Le nombre doit etre supérieur a 0 ")
        except ValueError:
            print("Entrez un nombre entier positif !")
        else:
            break
    Ayez l'audace de cacher tout çà dans une fonction et d'utiliser plus proprement try...except... et assert:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    def get_value():
        while True:
            try:   
                nombre = int(input("Entrez un nombre entier : "))
            except ValueError:
                print("Entrez un nombre entier positif !")
            else:
                if nombre <= 0:
                     print("Le nombre doit etre supérieur a 0 ")
                     continue
                return nombre
    Et maintenant, vous pourriez essayer de refaire ce que vous essayez au départ: stocker N nombres dans une liste pour calculer s'ils sont premiers ou pas.

    Ou encore retravailler l'algorithme de calcul des nombres premiers.


    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  15. #15
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par chris7522 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/usr/bin/env python3
    def est_premier(nombre):
        i = 2
        if nombre == 1:
            return False
        while i < nombre and nombre % i != 0 :
            i += 1
            if i == nombre:
                return True
    Attention, il manque un return False quelque part. Parce que si on teste un nombre comme par exemple 169, on quitte la boucle et la fonction sans rien retourner. Et comme en réalité une fonction qui ne retourne rien retourne None par défaut et que ce None n'étant pas "True", le test de la ligne 21 ne passe pas, ça fait que le résultat final est correct "par accident".

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    def isPrime(n):
    	if n == 1: return False
    	if n in (2, 3, 5): return True
    	if n%2 == 0: return False
    	i=3
    	while True:
    		if n%i == 0: return False
    		if n//i < i: return True
    		i+=2
    	# while
    # isPrime()
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  16. #16
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Salut,

    Citation Envoyé par Sve@r Voir le message
    Et comme en réalité une fonction qui ne retourne rien retourne None par défaut et que ce None n'étant pas "True", le test de la ligne 21 ne passe pas
    Python y a pensé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> bool(None)
    False
    >>>
    retourner explicitement False ne sert qu'à rassurer les pinailleurs qui râleraient à la lecture du code...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  17. #17
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    retourner explicitement False ne sert qu'à rassurer les pinailleurs...
    Je ne suis pas certain que cet adjectif clairement péjoratif soit adéquat. Je ne vois pas ce qui justifie ainsi de dénigrer celui qui aime retourner explicitement False plutôt que de se la pêter en ne retournant rien et en se disant "hey comme je maîtrise trop top".
    Donc en dehors de rassurer les pinailleurs, ça sert aussi à rendre un code plus lisible sans nuire à sa qualité ou à sa vitesse... voire même en améliorant justement cette vitesse en évitant un cast bien inutilement consommateur de ressources...
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    moi@debian10:/tmp$ python3 -m timeit -r 10 -n 50000000 'a=0 if bool(None) else 0'
    50000000 loops, best of 10: 49 nsec per loop
    moi@debian10:/tmp$ python3 -m timeit -r 10 -n 50000000 'a=0 if None else 0'
    50000000 loops, best of 10: 12.4 nsec per loop
    moi@debian10:/tmp$ python3 -m timeit -r 10 -n 50000000 'a=0 if False else 0'
    50000000 loops, best of 10: 11.9 nsec per loop
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  18. #18
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Je ne suis pas certain que cet adjectif clairement péjoratif soit adéquat.
    Pas du tout, votre remarque serait tout à fait valide pour la revue d'un code de professionnel (et je suis le premier à la faire car c'est plus lisible).

    Mais ici vous essayez d'aider un débutant... vous n'êtes pas en mode "revue de code"...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  19. #19
    Nouveau membre du Club
    Homme Profil pro
    Deficient visuel
    Inscrit en
    Mai 2019
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Deficient visuel

    Informations forums :
    Inscription : Mai 2019
    Messages : 196
    Points : 37
    Points
    37
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    def isPrime(n):
    	....
    	i=3
    	while True:
    		if n%i == 0: return False
    		if n//i < i: return True
    		i+=2
    	# while
    # isPrime()
    Bonjour,
    Merci a tous les deux pour l'aide que vous m'apportez . Vous allez sans doute me répondre de faire davantage preuve de réflexion et de mettre mes neurones en action mais , pouvez vous m'expliquer pas a pas le test qui est fait a cet endroit ?
    Merci

  20. #20
    Nouveau membre du Club
    Homme Profil pro
    Deficient visuel
    Inscrit en
    Mai 2019
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Deficient visuel

    Informations forums :
    Inscription : Mai 2019
    Messages : 196
    Points : 37
    Points
    37
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    def get_value():
        while True:
            try:   
                nombre = int(input("Entrez un nombre entier : "))
            except ValueError:
                print("Ce doit etre un nombre entier !")
            else:
                if nombre <= 0:
                     print("Ce doit etre un nombre supérieur a 0 ")
                     continue
                return nombre
    Dans def get_value() , quel est precisement le role de " continue" ?

Discussions similaires

  1. Faire une boucle dans une liste déroulante
    Par gudule1er dans le forum IHM
    Réponses: 5
    Dernier message: 26/03/2019, 09h51
  2. Réponses: 7
    Dernier message: 09/08/2007, 14h07
  3. [DEBUTANT]faire une boucle dans une procédure stockée
    Par tripper.dim dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 21/06/2007, 13h49
  4. [debutant] insertion d'éléments dans une List
    Par gwenou60 dans le forum Composants
    Réponses: 1
    Dernier message: 05/12/2005, 09h59
  5. Réponses: 3
    Dernier message: 02/07/2004, 13h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo