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 :

calculer somme d'un ensemble d'element de different array et stoker dans un autre


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Par défaut calculer somme d'un ensemble d'element de different array et stoker dans un autre
    salut,
    etant donner que j'ai:
    une liste REM contenant un ou plusieurs elements REM=[12]
    et une autre liste TPIN_F [(1, 4, 6), (2, 5, 10), (8, 11, 13), (3, 7, 9)]
    etant donner c'est indice , je veux calculer à partir de matrice la somme de communication de 12 et ( 1,4,6) et stoker dans COM(1)
    à la fin j'aurés COM(1), COM(2) jusq'à COM(4)
    ITCCM
    [[14 18 6 6 16 0 4 15 10 10 4 0 20]
    [ 4 12 8 18 14 10 1 14 5 16 18 11 6]
    [10 4 7 15 6 0 8 2 7 16 11 14 15]
    [ 0 12 8 14 17 10 10 15 5 11 0 5 15]
    [19 4 5 1 7 11 2 6 12 20 16 9 16]
    [ 2 17 0 19 7 13 17 8 6 16 3 6 1]
    [19 10 6 14 6 17 16 12 15 14 3 9 7]
    [12 6 11 19 5 12 9 0 6 3 5 17 11]
    [ 8 6 3 14 20 0 1 16 13 4 7 12 9]
    [ 7 17 7 11 13 7 19 14 17 3 13 6 4]
    [ 9 2 2 5 7 10 11 10 6 17 8 18 7]
    [20 12 3 12 11 7 18 20 2 6 14 12 12]
    [20 7 3 19 9 2 12 9 16 3 17 4 0]]

    ce que j'ai essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    def calc_REM_Task_Cluster_COM(REM,ITCCM,TPIN_F):
        COM=[]
        for i in REM:
            print(i)
            sum = 0
            while j in TPIN_F:
                for k in TPIN_F[j]:
                    sum = ITCCM[i]+ITCCM(k)
                    COM.append(sum)
        print(COM)
        return COM
    mais le résultat est toujours : []

  2. #2
    Membre éprouvé Avatar de olivier1969
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2013
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 153
    Par défaut
    Hello ,

    Je pense que ça manque quand même un peu de clarté !!

    Je ne vois pas le lien entre REM, TPIN_F et COM et surtout à quoi te sert ITCCM ?

  3. #3
    Membre très actif
    Femme Profil pro
    étudiante chercheuse
    Inscrit en
    Septembre 2013
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante chercheuse
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 274
    Par défaut
    Citation Envoyé par olivier1969 Voir le message
    Hello ,

    Je pense que ça manque quand même un peu de clarté !!

    Je ne vois pas le lien entre REM, TPIN_F et COM et surtout à quoi te sert ITCCM ?
    COM est une structure de taille len (TPIN_F) où on va stoker le resultat final (somme des temps de communication)

    TPIN_F stoke tout les clusters qu'on doit calculer la somme des élément le composant d'indice (ligne=element dans REM et colonne element dans TPIN_F)
    exemple : REM=[11]
    TPIN_F [(2, 3, 5), (4, 9, 13), (8, 10, 12), (1, 6, 7)]

    com(1)= ITCCM[11][2]+ITTCM[11][3]+ITTCM[11][5]
    .....
    COM(4)= ITCCM[11][1]+ITTCM[11][6]+ITTCM[11][7]

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    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 835
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par FATENMRABET Voir le message
    ITCCM
    [[14 18 6 6 16 0 4 15 10 10 4 0 20]
    ...

    COM est une structure de taille len (TPIN_F) où on va stoker le resultat final (somme des temps de communication)

    TPIN_F stoke tout les clusters qu'on doit calculer la somme des élément le composant d'indice (ligne=element dans REM et colonne element dans TPIN_F)
    exemple : REM=[11]
    TPIN_F [(2, 3, 5), (4, 9, 13), (8, 10, 12), (1, 6, 7)]

    com(1)= ITCCM[11][2]+ITTCM[11][3]+ITTCM[11][5]
    .....
    COM(4)= ITCCM[11][1]+ITTCM[11][6]+ITTCM[11][7]
    Un souci immédiat, c'est que chaque liste de "ITCCM" fait 13 items, donc indiçables de 0 à 12. Quand tu arriveras sur ITCCM[11][13] ça va cafouiller sérieux.
    Un autre moins problématique mais qui mérite d'être souligné, c'est que "sum" est déjà un nom de fonction. Si tu l'écrases pour y mettre tes petites affaires ton code ne plantera pas mais le jour où tu voudras utiliser la fonction sum()...

    Mis à part ces détails, et si j'ai bien pigé ce truc absolument abracadabrant que tu cherches à faire, alors ce code donne les bons totaux
    Code python : 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
    REM=(2, 3)
    TPIN_F=((2, 3, 5), (4, 9, 11), (8, 10, 12), (1, 6, 7))
    ITCCM=(
    	(14,18,6,6,16,0,4,15,10,10,4,0,20),
    	(4,12,8,18,14,10,1,14,5,16,18,11,6),
    	(10,4,7,15,6,0,8,2,7,16,11,14,15),
    	(0,12,8,14,17,10,10,15,5,11,0,5,15),
    	(19,4,5,1,7,11,2,6,12,20,16,9,16),
    	(2,17,0,19,7,13,17,8,6,16,3,6,1),
    	(19,10,6,14,6,17,16,12,15,14,3,9,7),
    	(12,6,11,19,5,12,9,0,6,3,5,17,11),
    	(8,6,3,14,20,0,1,16,13,4,7,12,9),
    	(7,17,7,11,13,7,19,14,17,3,13,6,4),
    	(9,2,2,5,7,10,11,10,6,17,8,18,7),
    	(20,12,3,12,11,7,18,20,2,6,14,12,12),
    	(20,7,3,19,9,2,12,9,16,3,17,4,0),
    )
     
    COM=tuple(sum(ITCCM[r][v] for v in val for r in REM) for val in TPIN_F)
    print(COM)

    PS: tu auras remarqué que tes listes sont devenues chez-moi des tuples. Ben oui, une liste qui n'évolue pas n'a pas besoin de rester "liste" quand un tuple suffit.
    PS2: tu auras remarque que je me suis fait ch..r à réécrire tes exemples dans une syntaxe Python correcte (merci "vi" et à ses substitutes). Tu veilleras la prochaine fois à en faire de même pour que ceux à qui tu demandes de l'aide puissent copier/coller tes données sans avoir à les réécrire

    Citation Envoyé par wiztricks Voir le message
    1. d'où sort le "j"
    2. qu'est qui va faire changer la condition du while pour qu'on sorte de la boucle?
    Amusant. Tu décris un truc auquel j'avais pensé en lisant ce post mais auquel je n'avais pas réagi car ne voyant pas le code exact, je pensais que je me trompais...
    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]

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

    Citation Envoyé par FATENMRABET Voir le message
    mais le résultat est toujours : []
    Si le résultat est toujours [] c'est qu'on ne passe jamais par l'instruction COM.append(sum)...
    Après si vous écrivez:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
       COM=[]
        for i in REM:
            print(i)
            sum = 0
            while j in TPIN_F:
                for k in TPIN_F[j]:
                    sum = ITCCM[i]+ITCCM(k)
                    COM.append(sum)
    vous avez 2 problèmes:
    1. d'où sort le "j"
    2. qu'est qui va faire changer la condition du while pour qu'on sorte de la boucle?

    Soit vous postez du code en ayant pris le temps de vous relire un minimum, soit il va falloir penser à apprendre à programmer. Dans les deux cas, on ne peut pas grand chose pour vous.

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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/04/2008, 07h49
  2. Réponses: 1
    Dernier message: 20/08/2007, 10h25
  3. [Requete] Calcul Somme entre deux temps pour chaque jour
    Par nico33307 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 21/03/2006, 00h58
  4. Plusieurs CALCULS somme dans un ETAT
    Par dynxd dans le forum IHM
    Réponses: 2
    Dernier message: 28/09/2005, 16h45
  5. Calcul/Somme XML / XSL , comment faire ?
    Par Superpoisson dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 23/09/2005, 12h28

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