[ PROJET NSI ] Sélectionner des valeurs selon un critère.
Bonjour, mon problème est simple à comprendre mais difficile à expliquer.
Pour un projet en NSI, j'ai à ma disposition un fichier excel contenant toutes les villes du monde et leur population respective.
Pour l'un des exercices, on me demande d' "écrire une fonction PopPays(T),T étant une table contenant les attributs CodePays et Population, qui renvoie le dictionnaire:
dont les clés sont les codes des pays de la table T et les valeur leur population respective."
J'ai réussi à rassembler les villes dans un seul
Pour ma part, j'ai pensé à écrire une fonction du style :
De cette façon, lorsque deux (ou plus) villes d'un même pays se succèdent, je fais la somme de leur population.
On ne m'indique pas d'erreur ni de solution non-plus.
Merci si vous parveniez à m'expliquer le problème ou me proposer des idées alternatives.
Pour un projet en NSI, j'ai à ma disposition un fichier excel contenant toutes les villes du monde et leur population respective.
Pour l'un des exercices, on me demande d' "écrire une fonction PopPays(T),T étant une table contenant les attributs CodePays et Population, qui renvoie le dictionnaire:
{'CodePays1':population pays1,'CodePays2':population pays2, 'CodePays3':population pays3,..}
dont les clés sont les codes des pays de la table T et les valeur leur population respective."
J'ai réussi à rassembler les villes dans un seul
CodePays. Cependant, je ne sais pas comment m'y prendre pour faire la somme des populations des villes d'un même pays.
Pour ma part, j'ai pensé à écrire une fonction du style :
def Test(T):
stock = 0
for e in T:
for a in range(...):
if item[a] == item[a+1]:
stock = e["Population"] + stock
else:
return None
De cette façon, lorsque deux (ou plus) villes d'un même pays se succèdent, je fais la somme de leur population.
On ne m'indique pas d'erreur ni de solution non-plus.
Merci si vous parveniez à m'expliquer le problème ou me proposer des idées alternatives.
A voir également:
- [ PROJET NSI ] Sélectionner des valeurs selon un critère.
- Filigrane projet - Guide
- Gant projet - Télécharger - Gestion de projets
- Comment sélectionner un message sur whatsapp pour y répondre - Guide
- Selectionner du texte sur un pdf - Guide
- Selectionner toutes les photos google photo - Guide
2 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour,
ton code fonctionne bien?
ton code fonctionne bien?
Bonjour,
Plusieurs remarques :
Un petit exemple pour démarrer
Tu l'auras compris, il suffit à présent d'itérer sur
Bonne chance
Plusieurs remarques :
- peux-tu clarifier est la forme de la table
T
(quitte à donner les premières lignes) ? - ta fonction s'appelle
Test
mais ton énoncé parle dePopPays
; - ton code inclue
range(...)
mais tu n'as pas précisé quoi mettre à la place de...
; - dans ton code tu crées une variable
stock
que tu retournes (donc un entier) alors qu'on te demande de retourner un dictionnaire. - pour ton exercice le plus pratique serait d'utiliser un
defaultdict
comme ça tu peux directement incrémenter la population si le pays n'y figure pas (si tu préfères utiliser undict
, il faudra vérifier si le pays figure dans les clés et incrémenter/initialiser la population totale en fonction)
Un petit exemple pour démarrer
from collections import defaultdict
def PopPays(T):
d = defaultdict(int)
d["Brésil"] += 10000
d["Brésil"] += 200000
d["France"] += 30000
print(d)
return d
Tu l'auras compris, il suffit à présent d'itérer sur
Tpour extraire le pays de la ville et sa population pour corriger le contenu de
d.
Bonne chance