Python aide programmation

Résolu
MK_8777 Messages postés 14 Statut Membre -  
MK_8777 Messages postés 14 Statut Membre -

Bonjour, quelqu'un peut me le faire et m'expliquez je ne comprend vraiment pas c'est sur les dictionnaires en python

écrivez une fonction DicoEtudiant qui prend en paramètre une chaîne de caractère comprenant la répétition de trois champs séparés par des caractères ';' (un numéro d'étudiant, un nom et un prénom) et retourne un dictionnaire dont les clés sont les numeros d'étudiants lus et les valeurs sont, pour chaque numéro d'étudiant, une chaîne correspondant à la concaténation des prenoms et nom de la personne.
par exemple: chaine_etudiant = "21361;Besnier;Jean;21356;DUPOND;marc;21466;DURAND.julie"
DicoEtudiant(chaine_etudiant) renverra {2136}: JeanBESNIER, 21356:MarcDUPOND,21466: JulieDURANT

indication : pensez a utliliser la methode split.


Macintosh / Chrome 107.0.0.0

2 réponses

Phil_1857 Messages postés 1956 Statut Membre 168
 
0
MK_8777 Messages postés 14 Statut Membre
 

Est-ce que tu pourrais me donner alors une indication ou une petite aide si c'est possible ?

0
MK_8777 Messages postés 14 Statut Membre
 

re bonjour : 

le probleme ici c'est que le programme ne reconnait pas la methode split et je ne sais pas comment faire :

def dicoetudiant(chaine_etudiant):
    etudiant = chaine_etudiant.split(';')

    dico={ etudiant[i*3+0] : etudiant[i*3+1]+' '+ etudiant[i*3+2]for i in range((len(etudiant)+2)//3)}

    return dico
dicoetudiant("21361;Besnier;Jean;21356;DUPOND;marc;21466;DURAND;julie")
0
jee pee Messages postés 42361 Statut Modérateur 9 736
 

Bonjour,

Dans mon environnement ton programme fonctionne.

C'est presque bon {'21361': 'Besnier Jean', '21356': 'DUPOND marc', '21466': 'DURAND julie'}

pour {21361: 'JeanBESNIER', 21356: 'MarcDUPOND', 21466: 'JulieDURAND'} attendu ;-)

Quel est exactement le message d'erreur ?
 

0
MK_8777 Messages postés 14 Statut Membre > jee pee Messages postés 42361 Statut Modérateur
 

Bonjour il n'y a pas d'erreur je suis sur visual studio code mais la methode split n'est pas colorier comme visual studio code a l'habitude de le faire et quand je lance le programme il ne se passe rien.

0
jee pee Messages postés 42361 Statut Modérateur 9 736 > MK_8777 Messages postés 14 Statut Membre
 

Affiche etudiant après le split.

Mais n'est ce pas tout simplement qu'il faut que tu affiches aussi le résultat ?

print(dicoetudiant("21361;Besnier;Jean;21356;DUPOND;marc;21466;DURAND;julie"))
1
MK_8777 Messages postés 14 Statut Membre > jee pee Messages postés 42361 Statut Modérateur
 

Bonjour c'est bon ca marche merci bcp !

0