Python aide programmation

Résolu
MK_8777 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
MK_8777 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -

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 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
0
MK_8777 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 

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

0
MK_8777 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 

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 41518 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 

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 11 Date d'inscription   Statut Membre Dernière intervention   > jee pee Messages postés 41518 Date d'inscription   Statut Modérateur Dernière intervention  
 

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 41518 Date d'inscription   Statut Modérateur Dernière intervention   9 720 > MK_8777 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 

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 11 Date d'inscription   Statut Membre Dernière intervention   > jee pee Messages postés 41518 Date d'inscription   Statut Modérateur Dernière intervention  
 

Bonjour c'est bon ca marche merci bcp !

0