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 :

Exécution crible d'Ératosthène


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Septembre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Septembre 2019
    Messages : 3
    Par défaut Exécution crible d'Ératosthène
    Bonjour. Je ne m’y connais vraiment que très peu en Python, et j’ai un problème ;

    Voici le script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    def liste_premiers(N):
        L=list(range(2,N+1))
        i=0
        while i<len(L):
            p=L[i]
            j=i+1
            while j<len(L):
                if L[j]%p==0:
                    del(L[j])
                j=j+1
            i=i+1
        return(L)

    C’est pour le crible d’Erathostene. (Les tabulations sont correctes, mais pas affichées ici.)

    Or, quand j’exécute le script, rien. Pas de message d’erreur.
    Il faudrait préciser la valeur de N (ou de L) pour indiquer une valeur au programme, mais comment l’insérer dans la console ?
    ( pour l’exécuter, je fais
    python test.py
    )
    Et il faudrait preciser des arguments, comment je fais ?


    Merci beaucoup !

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Tu dois rajouter ceci à la fin de ton script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    import sys
    if __name__ == "__main__":
        if len(sys.argv) < 2:
            print("Argument number missing !")
        else:
            liste_premiers(int(argv[1]))
    Voir là:
    https://docs.python.org/3/library/sys.html#sys.argv

  3. #3
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    Là tu as défini une fonction. Pour qu'il se passe qqch dans ton code il faudrait maintenant y faire appel !

    Donc à la toute fin de ton programme, sans indentation (car ce n'est pas dans la fonction), tu peux écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print(liste_premiers(100))
    Si tu veux plutot que le programme demande la valeur de N à l'utilisateur, plutot que d'en avoir une fixée, tu mets ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    N=int(input("Valeur de N? "))
    print(liste_premiers(N))
    Ou également ce que propose VinsS.

  4. #4
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Septembre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Septembre 2019
    Messages : 3
    Par défaut
    Merci beaucoup à vous deux, problème résolu ))

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/06/2014, 17h32
  2. [Généralités] Windev vs Java : crible d'Ératosthène
    Par jurassic pork dans le forum WinDev
    Réponses: 26
    Dernier message: 15/12/2011, 09h42
  3. Algorithme Crible d'Ératosthène en distribué (application réparti)
    Par tomap3 dans le forum Algorithmes et structures de données
    Réponses: 21
    Dernier message: 12/07/2010, 15h15
  4. [ArchiveBuilder][JavaMail] exécution impossible...
    Par Gorthal dans le forum JBuilder
    Réponses: 7
    Dernier message: 10/01/2003, 09h12
  5. Réponses: 2
    Dernier message: 06/07/2002, 12h36

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