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 :

La vitesse d’exécution de tri


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 7
    Par défaut La vitesse d’exécution de tri
    Bonsoir , je n'arrive pas a afficher la courbe de la vitesse d'execussion de mon programme . Vitesse de tris par rapport aux nombres de données dans un tableau. merci d'avance 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    import time
    import numpy as np
     
    tab = np.random.randint(1,10,10)
     
    def tri_selection(tab):
     
       for i in range(len(tab)):
     
           min = i
           for j in range(i+1, len(tab)):
               if tab[min] > tab[j]:
                   min = j
     
           tmp = tab[i]
           tab[i] = tab[min]
           tab[min] = tmp
       return tab
     
     
     
     
    def time_(tab):
     
        start_time = time.time()  
        print ("Le tableau trié est:")
        tri_selection(tab)
        end=time.time()
        print(tab)
        print("Temps d execution : %s secondes ---" % (end - start_time))
     
     
     
    x= [100,200,300,400,500]
    y= [time(tab)for tab in x]
     
    from matplotlib.pyplot import plot
    plot(x,y)

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    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 762
    Par défaut
    Salut,

    Citation Envoyé par gostravel Voir le message
    je n'arrive pas a afficher la courbe de la vitesse d'execussion de mon programme . Vitesse de tris par rapport aux nombres de données dans un tableau. merci
    Commencez par décrire le problème rencontré: je n'arrive pas c'est un message d'erreur à comprendre ou une attente non satisfaite à décrire.

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

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 7
    Par défaut
    le problème est que le programme une fois lancé m'affiche l'axe de ordonnée et l'axe vertical , mais affiche le message d'erreur ( y= [time(tab)for tab in x]

    TypeError: 'module' object is not callable)
    et n'affiche aucune courbe.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    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 762
    Par défaut
    Salut,

    Si le programme plante avant d'arriver à afficher la courbe, ben, il a planté avant.

    Et si çà plante à l'instruction y = [time(tab)for tab in x] en vous indiquant que time est un module vous êtes supposé essayer de comprendre pourquoi (c'est vous le programmeur!).
    Vous avez écrit "import time", ce qui définit la variable time associé au module time.

    Si vous vouliez à cet endroit appeler la fonction time_ (celle que vous avez écrite), c'est quand même pas compliqué de s'apercevoir que time n'est pas time_.

    Essayer de comprendre les messages d'erreur, relire son code, ... c'est le minimum de rigueur que vous devriez avoir acquis en faisant les exercices que vous proposent les tutos.

    Et si vous avez glissé sur la case tuto. , vous n'arrivez pas à vous dépatouiller de soucis aussi élémentaires. Vous n'avez peut être pas compris ou négligé l'effort qu'apprendre à programmer veut dire.

    Ce boulot d'apprentissage, personne ne peut le faire à votre place.
    A vous de vous donnez les moyens de vos ambitions.

    note: si c'était la seule erreur dans votre code, on dirait c'est une "coquille", vous êtes fatigué, çà se comprend... Hélas, ce n'est pas le cas.

    - 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
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 7
    Par défaut
    Désolé cela fait plusieurs jours que je change de variable et j’essaye de résoudre ce problème cela fait seulement un an que je débute et je n’ai pas encore de réflexe de programmeur, j’aurais pensé trouver une aide sur ce forum pour comprendre la où j’ai pu me tromper, et y faire davantage attention.
    Merci pour avoir répond à ma demande

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 762
    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 762
    Par défaut
    Citation Envoyé par gostravel Voir le message
    j’aurais pensé trouver une aide sur ce forum pour comprendre la où j’ai pu me tromper, et y faire davantage attention.
    Lorsque Python ne peut pas exécuter un code, il est assez bavard et indique l'erreur, la ligne l'instruction,... A vous de relire le code que vous avez écrit pour essayer de comprendre pourquoi Python jette votre programme.

    C'est le b.a.ba de la programmation: même un programmeur chevronné commet des erreurs!
    On appelle çà mettre au point du programme.

    Normalement, le débutant commence à effectuer ce genre de démarche en essayant de coder les exercices proposés par les tutos. Avoir un script qui fonctionne, c'est bien puisque çà veut dire qu'on a compris les concepts présentés dans le chapitre correspondant.

    Mais la bataille qu'on livre avec la machine pour mettre au point le programme en analysant l'erreur et relisant son code pour en trouver la cause est aussi important (sinon plus).

    Secouer le code en espérant que l'erreur disparaisse ne fonctionne pas: il faut essayer de comprendre l'erreur. Ce qui passe par sa description (on est en train de faire quoi dans le code) et sa documentation (le message d'erreur, ou j'attendais çà et j'obtiens autre chose).

    Dans le "on est en train de faire quoi", on peut vérifier que l'opération est "licite": on lance l'interpréteur Python et on essaie de reproduire. Le cas échéant on relit la documentation (ou le chapitre du cours).

    Ce boulot ayant été fait, vous pouvez demander de l'aide en ayant un peu plus de choses à dire que "çà ne marche pas", débrouillez vous pour corriger mon code.

    A défaut, difficile de penser que vous avez sérieusement cherché!
    Et si vous n'êtes pas plus motivé que çà pour apprendre à coder, pourquoi demander de l'aide?

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

Discussions similaires

  1. Vitesse d’exécution d'une boucle
    Par Sadr'ihel dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 31/01/2018, 14h05
  2. Vitesse d’exécution de plusieurs boucles imbriquées
    Par bouteille971 dans le forum LabVIEW
    Réponses: 8
    Dernier message: 07/05/2014, 17h08
  3. Vitesse d’exécution d'une application
    Par Meher001 dans le forum Développement Windows
    Réponses: 5
    Dernier message: 25/04/2013, 11h46
  4. [XL-2010] Vitesse de tri de données
    Par f.denis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/03/2012, 11h45
  5. Comparaison de la vitesse d’exécution
    Par layouni dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/09/2005, 15h43

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