Exo dictionnaire python nsi première
Aurelgkk
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Phil_1857 Messages postés 1872 Date d'inscription Statut Membre Dernière intervention -
Phil_1857 Messages postés 1872 Date d'inscription Statut Membre Dernière intervention -
Bonjour je suis un eleve de nsi et j'ai cet exercice à rendre mais je ne le comprends absolument pas. Merci d'avance a ceux qui m'aideront
Exercice 2 : dépouillement d'une urne
A l'issue d'une élection à scrutin uninominal (un seul nom par bulletin), on récupère un tableau contenant tous les noms inscrits sur les bulletins trouvés dans
l'urne.
Afin de déterminer le vainqueur de l'élection, en un seul parcours des bulletins, on souhaite créer un dictionnaire qui à chaque nom contenu dans l'urne associe
le nombre de bulletins correspondant et se servir de ce dictionnaire pour déterminer le vainqueur. Pour ce faire, on va :
créer une fonction incr_dico() qui rajoute à un dictionnaire passé en argument une clé (elle aussi passée en argument)associée à la valeur 1 si cette clé
n'est pas déjà présente dans le dictionnaire , sinon, incrémente de 1 la valeur associée à cette clé.
créer une fonction depouillement() qui prend la liste des bulletins en argument, construit le dictionnaire et retourne le vainqueur.
Exercice 2 : dépouillement d'une urne
A l'issue d'une élection à scrutin uninominal (un seul nom par bulletin), on récupère un tableau contenant tous les noms inscrits sur les bulletins trouvés dans
l'urne.
Afin de déterminer le vainqueur de l'élection, en un seul parcours des bulletins, on souhaite créer un dictionnaire qui à chaque nom contenu dans l'urne associe
le nombre de bulletins correspondant et se servir de ce dictionnaire pour déterminer le vainqueur. Pour ce faire, on va :
créer une fonction incr_dico() qui rajoute à un dictionnaire passé en argument une clé (elle aussi passée en argument)associée à la valeur 1 si cette clé
n'est pas déjà présente dans le dictionnaire , sinon, incrémente de 1 la valeur associée à cette clé.
créer une fonction depouillement() qui prend la liste des bulletins en argument, construit le dictionnaire et retourne le vainqueur.
In [ ]: bulletins=["Martin","Paul","Pierre","Jacques","Toto","Marie","Paul","Pierre","Jacques","Toto","Toto"] def incr_dico(dico,cle): """ Entrée : un dictionnaire dico une clef cle Sortie : rien (c'est une procédure qui modifie le dico existant) Effet : - si cle est une clef de dico, la valeur de cle est augmentée de 1 - sinon cle est insérée dans dico associée à la valeur 1 """ # # à compléter # def depouillement(bulletins): """ Entrée : une liste bulletins Sortie : une chaîne de caractères : vainqueur Effets : - construit le dictionnaire des noms-nb de bulletins - détermine le vainqueur """ dico = {} ## création du dictionnaire # # à compléter # nb_voix_max = 0 vainqueur="" ## détermination du vainqueur # # à compléter # return vainqueur print("le vainqueur est : ",depouillement(bulletins))
A voir également:
- Exo dictionnaire python nsi première
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
- Télécharger dictionnaire médical larousse gratuit pdf - Télécharger - Dictionnaires & Langues
- Citizen code python avis - Accueil - Outils
- Dictionnaire synonyme gratuit - Télécharger - Études & Formations
- Télécharger dictionnaire informatique gratuit pdf - Télécharger - Bureautique
6 réponses
Bonjour,
Tout est indiqué dans l'énoncé de l'exercice et les commentaires du code....
Quoi qu'il en soit,
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
.
Tout est indiqué dans l'énoncé de l'exercice et les commentaires du code....
Quoi qu'il en soit,
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
.
Bonjour, en effet la consigne indique bien quil faut cree une fonction incr_dico() mais je ne sais pas du tout comment faire
Voila ou j'en suis, pour les fonction incr_dico, j'ai tester la fonction mais elle ne marche pas pouvez m'aider svp
def incr_dico(dico,cle): """ Entrée : un dictionnaire dico une clef cle Sortie : rien (c'est une procédure qui modifie le dico existant) Effet : - if cle est une clef de dico, la valeur de cle est augmentée de 1 - sinon cle est insérée dans dico associée à la valeur 1 """ un_dictionnaire_dico={"cle":"valeur"} if cle=un_dictionnaire_dico valeur "cle" = +1 else "cle" = dico valeur 1
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Il faut définir le dictionnaire en dehors de la fonction comme pour les bulletins.
Ensuite, dans la fonction tu lui passe, en paramètres, le dictionnaire ainsi que la "clé" que tu veux ( ça c'est l'entrée.. ) soit lui ajouter .. soit, si elle existe déjà dans le dictionnaire, l'incrémenter de 1.(ça c'est l'effet )
Pour vérifier si une "clé" existe dans le dictionnaire, tu dois utiliser la méthode has_key
https://www.geeksforgeeks.org/python-dictionary-has_key/
Pour ajouter un élément à ton dictionnaire, tu peux faire comme ceci
https://www.w3schools.com/python/gloss_python_dictionary_add_item.asp
Pour changer la valeur dans d'un élément dans un dictionnaire
https://www.w3schools.com/python/gloss_python_change_dictionary_item.asp
A noter que je ne code pas en python.... mais le langage est tellement simple que de brèves recherches sur internet permettent de trouver les réponses sans souci...
Pour la fonction dépouillement, il suffira de boucler sur la liste
https://www.w3schools.com/python/python_lists_loop.asp
et dans la boucle en question, faire appel à la fonction incr_dico ( le paramètre "clé" étant la valeur de l'élément sur laquelle se trouve la boucle
Ensuite, dans la fonction tu lui passe, en paramètres, le dictionnaire ainsi que la "clé" que tu veux ( ça c'est l'entrée.. ) soit lui ajouter .. soit, si elle existe déjà dans le dictionnaire, l'incrémenter de 1.(ça c'est l'effet )
Pour vérifier si une "clé" existe dans le dictionnaire, tu dois utiliser la méthode has_key
https://www.geeksforgeeks.org/python-dictionary-has_key/
Pour ajouter un élément à ton dictionnaire, tu peux faire comme ceci
https://www.w3schools.com/python/gloss_python_dictionary_add_item.asp
Pour changer la valeur dans d'un élément dans un dictionnaire
https://www.w3schools.com/python/gloss_python_change_dictionary_item.asp
A noter que je ne code pas en python.... mais le langage est tellement simple que de brèves recherches sur internet permettent de trouver les réponses sans souci...
Pour la fonction dépouillement, il suffira de boucler sur la liste
https://www.w3schools.com/python/python_lists_loop.asp
et dans la boucle en question, faire appel à la fonction incr_dico ( le paramètre "clé" étant la valeur de l'élément sur laquelle se trouve la boucle
Bonjour,
un test if valide en Python:
(remarquer les deux points ":" en fin d'instruction)
valeur "cle" = +1 ca n'est pas du Python
"cle" = dico valeur 1 non plus
cle est une chaine de caractères, pas une variable, on ne peut pas faire "cle" =10
et dico valeur 1, c'est quoi ?
C'est basique, tout ça ...
un test if valide en Python:
if cle == toto: x=1 else: x=0
(remarquer les deux points ":" en fin d'instruction)
valeur "cle" = +1 ca n'est pas du Python
"cle" = dico valeur 1 non plus
cle est une chaine de caractères, pas une variable, on ne peut pas faire "cle" =10
et dico valeur 1, c'est quoi ?
C'est basique, tout ça ...