CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Python] Multipl une liste par une autre

Naabi57
Naabi57
Niveau 5
04 décembre 2014 à 20:36:55

Salut, dans un but scolaire de créer un programme de calcul de moyenne, je cherche a savoir comment multiplier chaque élément d'une liste python par celui d'une autre liste. Du genre

"Rentrer note X + coeff X" "Rentrer note Y + coeff Y" "Rentrer note Z + coeff Z"

Puis mettre les notes dans une liste a part des coefficient et multiplier chaque note par le coefficient correspondant

tarabiscotte
tarabiscotte
Niveau 10
04 décembre 2014 à 21:12:09

Y'a pas une solution unique, surtout à cause des manières de représenter les données

Perso j'utiliserais une liste de tuples (note,coefficient)

Exemple:
l=[(14,2),(16,2)]

Pour calculer la moyenne

sommecoeff=0
for i in range(len(l))
sommecoeff=sommecoeff+l[i][1] (le coefficient)

sommenotes=0
for i in range(len(l))
sommenotes=sommenotes+l[i][0] (la note)

moyenne = sommecoeff/sommenotes

(J'ai pas essayé)

Naabi57
Naabi57
Niveau 5
04 décembre 2014 à 21:35:19

J'ai essayé ça :

note.append(float(input("Rentrez la note")), float(input("Rentrez le coefficient")))

Mais ça ne marche pas

Lagrangien
Lagrangien
Niveau 8
04 décembre 2014 à 21:36:36

Pour la partie "interactive" suggérée par ce que tu dis, faut faire un input ou raw_input à l'intérieur d'une boucle.

Maintenant, étant donné deux lises list1 et list2, tu peux les multiplier par élément de façon très concise:

list3 = [list1[i] * list2[i] for i in range(len(list1))]

(ceci suppose évidemment que les deux listes ont la même longueur)

Naabi57
Naabi57
Niveau 5
04 décembre 2014 à 21:41:41

Merci beaucoup c'est ce que je cherchait !

Naabi57
Naabi57
Niveau 5
04 décembre 2014 à 21:54:25

J'ai un autre problème : la liste "impact" ne se remplit pas (ne faites pas attention au reste, j'y travaille)

http://pastebin.com/BrS1UgM0

Ace_Attorney
Ace_Attorney
Niveau 10
04 décembre 2014 à 23:11:55

Sinon, tu peux utiliser map de Python.

Dans ton programme, ça sera de cette façon :
map(mul, liste_note, liste_coef)

Pour mul, une fonction qui multiplie deux éléments.

ça te retournera une nouvelle liste, qui contiendra les notes multipliés par le coef.

Lagrangien
Lagrangien
Niveau 8
05 décembre 2014 à 16:43:02

Ace_Attorney: La doc python conseille l'utilisation des liste en compréhension plutôt que la fonction map si possible (https://docs.python.org/2/tutorial/datastructures
.html).

Naabi : dans ton dernier code, la liste impact est remplie avant la boucle où les notes sont insérées. Elle multiplie donc deux listes vides, elle est donc vide. Faut la remplir après ton while.

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment