Mini repertoire
roro
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
j ai un projet de mini repertoire assez dur pour mon niveau. 1ere NSI
je suis bloquer pour modifier une personne et voici mon programme
repertoire=[]
#sélectionner dans le menu
print("1-Ajouter une personne 2-Modifier une personne 3-Supprimer une personne 4-Quitter le programme")
choix=int(input("Quel numéro choisissez-vous ?"))
if choix==1:
personne1 = {}# creation du dico
personne1["nom"]=str(input("saisir un nom:"))
personne1["prenom"]=str(input("saisir un prenom:"))
personne1["num"]=str(input("saisir un numero:"))
repertoire.append(personne1)# ajout d'un element
print(repertoire)
elif choix==2:
changer=str(input("quel contact voulez vous modifier ?"))
changerquoi=str(input(" tapez 4 pour modifier le nom! tapez 5 pour modifier le prenom! tapez 6 pour modifier le numero!"))
L'objectif est de créer un répertoire dans lequel on mémorise le nom, le prénom et le numéro de téléphone.
Les informations sont mémorisées dans une liste de dictionnaire.
Au lancement du programme, l'agenda est vide et un menu permet à l'utilisateur d'ajouter, modifier ou supprimer une personne.
Après chaque traitement (ajouter, modifier et supprimer) l'agenda doit être affiché de nouveau.
Le schéma suivant détaille chaque partie du programme :
mini projet agenda cdcf1
Conseil de méthode :
- y aller pas à pas :
- mettre au point en premier ajouter une personne, puis passer à modifier...
- terminer par le menu
- rendre explicite votre programme pour un tiers :
- mettre des commentaires
- choisir des noms de variables explicites
- utiliser des fonctions pour structurer votre programme
- séparer les différentes parties par une ligne : #------------------------------------------------
Étape 1
Dans un premier temps vous répondez au cahier des charges en supposant que l'utilisateur est parfait : il saisit toujours les bonnes informations.
Il n'y a donc pas à vérifier par exemple si le n° de menu ou de personne est correct.
Étape 2
De nombreuses améliorations sont possibles, voici le cadre de ce que vous pouvez faire.
Pour l'affichage
- Juste avant d’afficher la liste des personnes, afficher le nombre de personnes - ex: 3 personnes
- Tester si l'agenda est vide, auquel cas afficher le message “L'agenda est vide”
Pour supprimer une personne
- tester le cas où la liste est vide, auquel cas afficher “aucun élève à supprimer, la classe est vide”
- tester le cas où le n° donné est négatif ou trop grand : afficher un message en conséquence
Pour modifier une personne par son nom
Afin de conserver votre première étape (modifier une personne par son n° d'indice), vous ajouterez un menu 4 afin de modifier une personne par son nom :
- demander à l'utilisateur de saisir un nom,
- le programme recherche la personne dans l'agenda
- si elle est trouvée : reprendre ce que vous aviez fait à l'étape 1
- si elle n’a pas été trouvée : afficher le message “nom personne inexistante dans l'agenda".
j ai un projet de mini repertoire assez dur pour mon niveau. 1ere NSI
je suis bloquer pour modifier une personne et voici mon programme
repertoire=[]
#sélectionner dans le menu
print("1-Ajouter une personne 2-Modifier une personne 3-Supprimer une personne 4-Quitter le programme")
choix=int(input("Quel numéro choisissez-vous ?"))
if choix==1:
personne1 = {}# creation du dico
personne1["nom"]=str(input("saisir un nom:"))
personne1["prenom"]=str(input("saisir un prenom:"))
personne1["num"]=str(input("saisir un numero:"))
repertoire.append(personne1)# ajout d'un element
print(repertoire)
elif choix==2:
changer=str(input("quel contact voulez vous modifier ?"))
changerquoi=str(input(" tapez 4 pour modifier le nom! tapez 5 pour modifier le prenom! tapez 6 pour modifier le numero!"))
L'objectif est de créer un répertoire dans lequel on mémorise le nom, le prénom et le numéro de téléphone.
Les informations sont mémorisées dans une liste de dictionnaire.
Au lancement du programme, l'agenda est vide et un menu permet à l'utilisateur d'ajouter, modifier ou supprimer une personne.
Après chaque traitement (ajouter, modifier et supprimer) l'agenda doit être affiché de nouveau.
Le schéma suivant détaille chaque partie du programme :
mini projet agenda cdcf1
Conseil de méthode :
- y aller pas à pas :
- mettre au point en premier ajouter une personne, puis passer à modifier...
- terminer par le menu
- rendre explicite votre programme pour un tiers :
- mettre des commentaires
- choisir des noms de variables explicites
- utiliser des fonctions pour structurer votre programme
- séparer les différentes parties par une ligne : #------------------------------------------------
Étape 1
Dans un premier temps vous répondez au cahier des charges en supposant que l'utilisateur est parfait : il saisit toujours les bonnes informations.
Il n'y a donc pas à vérifier par exemple si le n° de menu ou de personne est correct.
Étape 2
De nombreuses améliorations sont possibles, voici le cadre de ce que vous pouvez faire.
Pour l'affichage
- Juste avant d’afficher la liste des personnes, afficher le nombre de personnes - ex: 3 personnes
- Tester si l'agenda est vide, auquel cas afficher le message “L'agenda est vide”
Pour supprimer une personne
- tester le cas où la liste est vide, auquel cas afficher “aucun élève à supprimer, la classe est vide”
- tester le cas où le n° donné est négatif ou trop grand : afficher un message en conséquence
Pour modifier une personne par son nom
Afin de conserver votre première étape (modifier une personne par son n° d'indice), vous ajouterez un menu 4 afin de modifier une personne par son nom :
- demander à l'utilisateur de saisir un nom,
- le programme recherche la personne dans l'agenda
- si elle est trouvée : reprendre ce que vous aviez fait à l'étape 1
- si elle n’a pas été trouvée : afficher le message “nom personne inexistante dans l'agenda".
Configuration: Windows / Chrome 86.0.4240.111
A voir également:
- Mini repertoire
- Opera mini pc - Télécharger - Navigateurs
- Répertoire téléphonique gratuit - Télécharger - Bureautique
- Rohos mini drive - Télécharger - Chiffrement
- Meilleur mini pc - Guide
- Dameware mini remote control - Télécharger - Web & Internet
53 réponses
Tu as répondu, sans réfléchir et surtout sans essayer
si tu lances ce code (juste ce code)
Que se passe t il?
si tu lances ce code (juste ce code)
repertoire=[{"nom":"N1", "prenom":"P1", "num":1 }, {"nom":"N2", "prenom":"P2", "num":2 }, {"nom":"N3", "prenom":"P3", "num":3 }]
def selectioncontact():
print(repertoire)
index = repertoire.index('e')
print('The index of nom:', index)
selectioncontact()
Que se passe t il?
roro
rien
apres je n ai jamais fait l'index je decouvre en meme temps
OK
repertoire[0] retourne l'élément à l'index 0 du repertoire => ce que du dois faire avec un index à faire saisir par l'utilsateur
repertoire.index('machin') retourne la valeur de l'index de 'machin', si machin existe. Puisque tu ne l'as vu, c'est sans doute pas ce que ton prof attend de toi.
si il nous demande Afin de conserver votre première étape (modifier une personne par son n° d'indice), vous ajouterez un menu 4 afin de modifier une personne par son nom :
- demander à l'utilisateur de saisir un nom,
- le programme recherche la personne dans l'agenda
- si elle est trouvée : reprendre ce que vous aviez fait à l'étape 1
- si elle n’a pas été trouvée : afficher le message “nom personne inexistante dans l'agenda".
- demander à l'utilisateur de saisir un nom,
- le programme recherche la personne dans l'agenda
- si elle est trouvée : reprendre ce que vous aviez fait à l'étape 1
- si elle n’a pas été trouvée : afficher le message “nom personne inexistante dans l'agenda".
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questiondef modifierunepersonne():
print(repertoire)
changer=str(input("quel contact voulez vous modifier ?"))
changerquoi=str(input(" tapez 4 pour modifier le nom! tapez 5 pour modifier le prenom! tapez 6 pour modifier le numero!"))
peut etres partir comme cela sauf qu'il manque le choix de l indice au debut
Ha oui, je n'avais pas relu l'énoncé.
Effectivement dans un premier temps, tu dois faire la modification par l'index.
La recherche par nom viendra tout à la fin.
Donc la fonction qui sélectionne le contact doit demander l'index à l'utilisateur et transmettre le contact en question
Effectivement dans un premier temps, tu dois faire la modification par l'index.
La recherche par nom viendra tout à la fin.
Donc la fonction qui sélectionne le contact doit demander l'index à l'utilisateur et transmettre le contact en question
Cette fonction n'a que 2 choses à faire.
Dans tes précédents posts tu m'a montré que sais utiliser tout ce qu'il faut pour le faire.
Essaye
Dans tes précédents posts tu m'a montré que sais utiliser tout ce qu'il faut pour le faire.
Essaye
juste je dois rendre se projet pour lundi pourriez-vous me faire la fonction modifier s'il vous plait je ne vous embête plus après
Non, le but d’un exercice c’est que tu saches faire par toi-même.
Ce que tu as réussi jusqu’à là tu ne le dois qu’à toi.
Et en plus tu t’en souviendras.
Alors que si je te donne une solution toute faite, d’une part, j’irai à l’encontre des règles de ce forum, mais en plus cela ne te serai pas profitable.
Donc un pas après l’autre.
D’abord la fonction qui demande un index et retourne le contact qui correspond.
Ce que tu as réussi jusqu’à là tu ne le dois qu’à toi.
Et en plus tu t’en souviendras.
Alors que si je te donne une solution toute faite, d’une part, j’irai à l’encontre des règles de ce forum, mais en plus cela ne te serai pas profitable.
Donc un pas après l’autre.
D’abord la fonction qui demande un index et retourne le contact qui correspond.
continuer = 1
repertoire=[]
def ajouterunepersonne():
contact = {}# creation du dico
contact["nom"]=input("saisir un nom:\n")
contact["prenom"]=input("saisir un prenom:\n")
contact["num"]=input("saisir un numero:\n")
return contact
def modifier(rep):
crep = rep
suite = 1
per = input('Donnez le prénom de la personne à modifier:\n')
if per is None:
per = ' '
rep = sup(rep, per, 1)
if rep == False:
print("Il n'y a aucune personne de ce nom-là")
suite = 0
rep = crep
if suite == 1:
contact = {}# creation du dico
contact["nom"]=input("saisir un nouveau nom:\n")
contact["prenom"]=input("saisir un nouveau prenom:\n")
contact["num"]=input("saisir un nouveau numero:\n")
rep.append(contact)
print("personne bien modifiée")
return rep
def sup(rep, per = None, m = 0):
nwrep = []
if rep:
supp = False
if per is None:
per = input('Donner le prénom de la personne à suprimer:\n')
for e in rep:
if e['prenom'] == per:
supp = True
else:
nwrep.append(e)
if m == 0:
if supp == False:
print("Il n'y a aucune personne de ce nom là")
else:
print('La personne a bien été supprimée')
if m == 1:
if supp == False:
return False
rep = nwrep
return rep
while continuer:
print("1-Ajouter une personne\n2-Modifier une personne\n3-Supprimer une personne\n4-Quitter le programme")
choix=int(input("Quel numéro choisissez-vous ?\n"))
if choix == 1:
repertoire.append(ajouterunepersonne())
elif choix == 2:
repertoire = modifier(repertoire)
elif choix == 3:
repertoire = sup(repertoire)
elif choix == 4:
print(repertoire)
print("Merci d'avoir utilisé ce programme !")
continuer = 0
else:
print("Le numéro entré n'est pas dans les choix.")
Voilà, je pense que tu peux rendre ça mais jette un oeil pour être sûr que c'est ce qu'il te fallait.
