masklinn í dag viðrar vel til loftárása | darkpenguin a écrit :
qu'est-ce qui ne marche pas ? (outre le fait que ce n'est pas complet) et plutôt qu'une simple liste, j'utiliserais un dictionnaire... tu aurais ainsi un dictionnaire où la clef est le nom, et la valeur est une liste de notes, ça évite de mélanger des variables de type différent (nom & notes) au sein d'une même liste. par exemple (à créer dynamiquement):
Code :
- notes = dict({'marcel': [12,14,8],
- 'jules': [12,12,10,16],
- 'alphonse': [12,2] })
| PS: pour un programme définitif, input n'est pas recommandé car l'entrée est interprétée et donc potentiellement plantogène si on tape une expression python.
|
J'aurais tendance à faire pareil, mais sans faire n'importe quoi sur la syntaxe:
Code :
notes = { 'marcel': [12, 14, 8], 'jules': [12, 12, 10, 16], 'alphonse': [12, 2] }
|
est la syntaxe littérale pour un dict python, pas besoin de filter ça au constructeur, le seul effet de filer tout ça à dict c'est de consommer plus de ressources et de rendre le code moins lisible. Une alternative est néamoins d'utiliser les kwargs de dict():
Code :
notes = dict(marcel=[12, 14, 8], jules=[12, 12, 10, 16], alphonse=[12, 2])
|
Certains préfèrent cette syntaxe. Et pour étendre là dessus, à partir du moment ou le dict est rempli, il est aisé de récupérer la plus basse moyenne avec min(iterable[, key=id]), la plus haute avec max(iterable[, key=id]) (en utilisant la même fonction de clé, passant e.g. par dict.iteritems()), et la moyenne globale de la classe est tout aussi aisée à obtenir. ---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
|