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 :

Améliorer le temps d'éxecution d'un programme python.


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 13
    Par défaut Améliorer le temps d'éxecution d'un programme python.
    Bonjour,

    J'aurais besoin d'aide sur un programme python afin d'améliorer son temps d'exécution.
    Ce programme fonctionne parfaitement mais pour un nombre de jour trop important il devient lent.

    Le programme porte sur le traitement de prêt de livre pour une bibliothèque.
    On fournit en entrée le nombre de livre(facultatif pour le moment, juste entrer un nombre) puis le nombre de jours d'emprunt.
    Ensuite on fournit pour chaque jour passé le nombre de client et pour ce nombre l'indice des livres empruntées et le nombre de jours d'emprunts et ceci jusqu'à la fin du nombre de jours d'emprunt.
    A chaque fois on affiche 1 si le livre est empruntable et 0 s'il a déjà été emprunté.
    Si un client emprunte un livre le jour iJour pendant une durée duree alors celui-ci ne sera de nouveau disponible qu'au jour iJour + duree.
    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
     
    # coding: utf-8
     
    nbres_livres = int(input("Nombre de livres:"))
    nbres_jours= int(input("Nombre de jours d'emprunt"))
     
    T1=[]
    T2=[]
     
    for i in range(1,nbres_jours+1):
     
        if i in T1:
            for k in range(len(T1)):
                if i == T1[k]:
                    T1[k]="a"
                    T2[k]="a"
     
        nbre_client=int(input("Nombre client"))
        for j in range(1,nbre_client+1):
            indice = int(input("Indice:"))
            jour= int(input("Jours d'emprunt:"))
     
            if indice in T2:
                print(0)
            else:
                T1.append(jour+i)
                T2.append(indice)
                print(1)
    Merci par avance.

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2013
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2013
    Messages : 485
    Par défaut
    Désolé @lionelus, mais après 5 sec de lecture de ton code, j'ai arrété de chercher à quoi correspond i, j, k, T1 ou T2

    Commence par renommer toute tes variables avec un nom explicite et ce sera déjà beaucoup plus simple pour comprendre ce que tu fais.
    Pour information, en informatique moderne, la taille des nom de variable est limité à 256 caractère et je trouve que "tableau_de_reservation" est plus parlant que "T1" et "livre_index" que "i"

    Et même avec des noms plus parlant, tu vas toi-même t’apercevoir que tu fais des traitements inutiles et mieux comprendre ce que tu fais.

  3. #3
    Membre expérimenté Avatar de cervo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 220
    Par défaut

    Pour une optimisation de ton code, pense a travailler avec des threads, bien assembles je pense que c'est la cle...

Discussions similaires

  1. Temps d'exécution d'un programme
    Par temar dans le forum Prolog
    Réponses: 3
    Dernier message: 14/06/2006, 21h17
  2. Améliorer le temps d'ouverture d'un fichier ?
    Par Sunchaser dans le forum C++Builder
    Réponses: 1
    Dernier message: 05/06/2006, 22h19
  3. temps d'execution d'un programme
    Par Invité(e) dans le forum C
    Réponses: 8
    Dernier message: 17/05/2006, 13h12
  4. Réponses: 5
    Dernier message: 12/05/2006, 11h45
  5. Réponses: 4
    Dernier message: 24/11/2005, 08h34

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