Débutant python dictionnaire sérialisé - Python - Programmation
Marsh Posté le 02-03-2015 à 15:06:47
C'est peu complexe:
- déjà créé deux fonctions, une qui enregistre ton dico, une qui lit et qui retourne le dico qu'elle a lu (c'est en gros ce que tu as fait, mais séparé en fonction).
Ensuite pour modifier/ajouter/supprimer, il te faut un dictionnaire (ca c'est OK), et l'utilisation de quelques fonctions:
- append (donc agenda.append) pour ajouter un élément
- remove pour retirer un élement
La modification se fait directement depuis un index donné.
Tu peux être intéressé par deux choses, vu que tu es débutant:
- Python c'est de l'interprété, donc peut y aller comme ca dans le shell: ouvre un cmd, tappe "python" et fait directement les tests dont tu as besoin
- Tu peux être intéressé par dir(agenda) qui va te printer une partie des fonctions associés à l'objet agenda (donc associé à n'importe quel dict).
Avec dict tu devrais retrouver les fonctions pop, append, count, insert qui sont les plus courantes.
Marsh Posté le 02-03-2015 à 18:57:33
bonjour,
Tout d'abord merci de votre réponse.
J'ai séparé le chargement et l'enregistrement du dico dans chacun une fonction.
Puis j'ai essayé d'ajouter des contacts.
Le code :
Code :
|
Résultat :
Code :
|
Je ne sais pas comment ajouter les contacts correctement, car ceci n'est pas bon :
Code :
|
Il faut l'enregistrer dans le dico comme ceci il me semble :
Code :
|
Merci.
Marsh Posté le 02-03-2015 à 20:48:59
Replace ceci:
Code :
|
Par:
Code :
|
Je te laisse chercher et comprendre pourquoi
Marsh Posté le 03-03-2015 à 17:10:25
Bonjour,
Je n'ai pas très bien compris pour les modifications.
La modification se fait directement depuis un index donné. |
Merci.
Marsh Posté le 04-03-2015 à 10:24:51
Un index, c'est un int, exemple:
Code :
|
Voila
Marsh Posté le 04-03-2015 à 13:37:50
Bonjour,
C'est en quelque sorte le dico.
L'inconvénient c'est qu'il faut connaitre le n° de l'élément pour les modifier.
Avec ceci :
Code :
|
Pour connaitre les n° des éléments
Code :
|
Même avec une boucle for j'ai toujours le n°3.
Code :
|
J'obtiens comme résultat :
Code :
|
Je cherche à avoir un truc du genre :
Code :
|
Ainsi pour modifier l'élément concerné, je pourrais indiquer le numéro avec une variable à la place du [2] :
Code :
|
Comment puis-je faire ?
Maintenant peut-être que je me trompe est qu'il ne faut pas si prendre comme ça question développement.
Merci.
Marsh Posté le 04-03-2015 à 14:05:40
xunil2003 a écrit : Bonjour, C'est en quelque sorte le dico. |
Bah c'est logique, si c'est stocké dans une liste faut savoir quel élément de la liste tu veux modifier. Sinon il faut stocker ça dans un dictionnaire de dictionnaires (et connaître la clé) ou dans une DB.
Notes que tu peux aussi filtrer ta liste sur un critère arbitraire pour essayer de trouver un objet dedans, mais moins rapide (vu qu'il faut passer sur chaque objet pour savoir si c'est celui que tu veux)
xunil2003 a écrit :
|
Bah non, c'est n'importe quoi, len() ça donne la longueur de la liste, donc 3 vu que t'as 3 trucs dedans.
xunil2003 a écrit :
J'obtiens comme résultat :
|
Normal, t'imprimes la longueur de la liste. Elle a aucune raison de changer.
xunil2003 a écrit :
|
Tu demandes à la liste quel est l'index de l'élément courant:
Code :
|
ou bien tu itères en demandant l'index actuel simultanément:
Code :
|
Marsh Posté le 04-03-2015 à 23:51:16
Bonsoir,
J'ai voulu utiliser des variables
Code :
|
au lien de
Code :
|
afin de modifier l'élément comme une sorte de questionnaire.
Code :
|
Résultat :
Code :
|
Mais ça marche pas.
Commet puis-je faire ?
Merci.
Marsh Posté le 05-03-2015 à 09:55:41
xunil2003 a écrit : Commet puis-je faire ? Merci. |
Tu pourrais aller apprendre le python, parce-que là c'est du grand n'importe quoi.
Marsh Posté le 05-03-2015 à 17:07:05
Bonjour,
Je ne sais pas trop comment faire, au lieu de me répondre que c'est du n'importe quoi, expliquez-moi la procédure à suivre afin dit réaliser.
Oui j'apprends python, seul inconvénient je vois le prof une fois par mois.
Maintenant si vous voulez m'expliquer ce sera gentil de votre part, sinon tant pis.
Merci.
Marsh Posté le 05-03-2015 à 17:15:51
xunil2003 a écrit : Je ne sais pas trop comment faire, au lieu de me répondre que c'est du n'importe quoi, expliquez-moi la procédure à suivre afin dit réaliser. |
C'est pas vraiment faisable, il manque les bases du langage là et je ne peux pas faire tes exercices pour toi.
xunil2003 a écrit : Oui j'apprends python, seul inconvénient je vois le prof une fois par mois. |
Tu es au courant qu'il y a de la documentation sur python sur l'internet mondial? https://docs.python.org/2/tutorial/ par exemple?
Marsh Posté le 02-03-2015 à 14:44:43
Bonjour,
Je suis débutant python. j'utilise la version 2.7.6 sous Linux ubuntu.
Dans un script j'utilise un dictionnaire sérialisé.
L'objectif est de travailler sur un dictionnaire sérialisé. Ici j'ai pris comme exemple un agenda en mode console sans interface.
Script
résultat :
Contenu du fichier
Pour chargé le dico, j'ai fait :
ça marche très bien.
Resultat :
Cependant je ne comprends pas comment :
1/ Modifier un contact
2/ Supprimer un contact
3/ Ajouter un contact.
Objectif du travail : Créer un dico sérialisé, le gardé en mémoire, l'enregistrer dans un fichier, le charger, modifier des valeurs, suppression des valeurs, ajouter des valeurs.
Pouvez-vous m'aiguiller ?
Merci.
Message édité par xunil2003 le 02-03-2015 à 14:54:25