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
Bonjour
il y a un truc primordial en python : l'indentation.
Or copier coller un code dans un forum supprime l'indentation.
C'est pour cela que CCM, comme tout forum de code qui se respecte, dispose d'un outil dédié => les balises de codes.
Voir une explication, à lire attentivement et en entier là https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Quand tu auras reposté ton code, dans cette discussion, de façon à se qu'on puisse le lire, on pourra commencer à essayer de t'aider.
il y a un truc primordial en python : l'indentation.
Or copier coller un code dans un forum supprime l'indentation.
C'est pour cela que CCM, comme tout forum de code qui se respecte, dispose d'un outil dédié => les balises de codes.
Voir une explication, à lire attentivement et en entier là https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Quand tu auras reposté ton code, dans cette discussion, de façon à se qu'on puisse le lire, on pourra commencer à essayer de t'aider.
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!"))
Ok
voyons ton énoncé, je mets une partie entre balise de code, afin de pouvoir commenter
Je te propose donc d'écrire un code qui va demander la saisie de 3 personnes avec au moins une fonction et sans menu.
Alors oui, tu demandes de l'aide pour la modification, mais pour modifier, il faut avoir des données.
Comme tu n'as pas respecté les consignes, en l'état quand tu arrives dans le choix tu n'as pas de données à modifier.
voyons ton énoncé, je mets une partie entre balise de code, afin de pouvoir commenter
Conseil de méthode : - y aller pas à pas : - mettre au point en premier ajouter une personne, puis passer à modifier... - terminer par le menu //apparement tu as commencé 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 //et tu n'as pas écrit de fonction(s) - séparer les différentes parties par une ligne : #------------------------------------------------
Je te propose donc d'écrire un code qui va demander la saisie de 3 personnes avec au moins une fonction et sans menu.
Alors oui, tu demandes de l'aide pour la modification, mais pour modifier, il faut avoir des données.
Comme tu n'as pas respecté les consignes, en l'état quand tu arrives dans le choix tu n'as pas de données à modifier.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionrepertoire=[]
def ajouterunepersonne():
personne1=str(input("saisir un nom"))
personne1=str(input("saisir un prenom"))
personne1=int(input("saisir un num "))
personne = {'nom':personne1, 'prenom':personne1,'numero':personne1}
repertoire.append(personne1)
print(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:
ajouterunepersonne
print(repertoire)
if choix==2:
print(repertoire)
j avais fait quelque chose comme cela au début ou je définis la fonction ajouterunepersonne
Je t'ai demandé 3 personnes et pas de menu.
Ce que tu montres ne répond pas à ça.
C'est assez exaspérant cette manie de votre génération à n'en faire qu'à votre tête.
Si tu viens demander de l'aide, celui (celle) qui va essayer de te guider, va le faire par étapes, afin d'estimer ton niveau (que tu dis toi même trop bas pour cet exercice) et amener le demandeur plus ou moins vite à trouver une solution.
Le week end dernier, j'ai suivi 3 questions en Python, par des jeunes de ton age qui ont duré plusieurs jours, parce que systématiquement, ils n'en faisaient qu'à leur tête et ne répondait pas à ce qu'on demandait.
Un seul a finit par appliquer et arriver rapidement à une solution. Les 2 autres sont en plan.
Je ne suis pas d'humeur, à te répéter la même chose pendant plusieurs jours.
Merci donc de répondre à ma demande
Ce que tu montres ne répond pas à ça.
C'est assez exaspérant cette manie de votre génération à n'en faire qu'à votre tête.
Si tu viens demander de l'aide, celui (celle) qui va essayer de te guider, va le faire par étapes, afin d'estimer ton niveau (que tu dis toi même trop bas pour cet exercice) et amener le demandeur plus ou moins vite à trouver une solution.
Le week end dernier, j'ai suivi 3 questions en Python, par des jeunes de ton age qui ont duré plusieurs jours, parce que systématiquement, ils n'en faisaient qu'à leur tête et ne répondait pas à ce qu'on demandait.
Un seul a finit par appliquer et arriver rapidement à une solution. Les 2 autres sont en plan.
Je ne suis pas d'humeur, à te répéter la même chose pendant plusieurs jours.
Merci donc de répondre à ma demande
Je te propose donc d'écrire un code qui va demander la saisie de 3 personnes
c'est a dire 3 personnes
je demande le nom prenom et num de 3 personnes?
c'est a dire 3 personnes
je demande le nom prenom et num de 3 personnes?
def ajouterunepersonne():
nomcontact1=str(input("saisir un nom"))
prenomcontact1=str(input("saisir un prenom"))
numerocontact1=int(input("saisir un num "))
return(nomcontact1,prenomcontact1,numerocontact1)
def ajouterunepersonne2():
nomcontact2=str(input("saisir un nom"))
prenomcontact2=str(input("saisir un prenom"))
numerocontact2=int(input("saisir un num "))
return(nomcontact2,prenomcontact2,numerocontact2)
def ajouterunepersonne3():
nomcontact3=str(input("saisir un nom"))
prenomcontact3=str(input("saisir un prenom"))
numerocontact3=int(input("saisir un num "))
return(nomcontact3,prenomcontact3,numerocontact3)
voila est ce bon ou pas ?
C'est pas faux, mais c'est pas bon.
D'abord, si j'exécute ce code tel quel, il ne se passe rien.
Sais tu pourquoi?
Si non, on va travailler sur ce pourquoi, pas la peine de lire la suite de ce message.
Si oui.
Montre moi un code qui calcule le cosinus de 1, 2 et 3.
D'abord, si j'exécute ce code tel quel, il ne se passe rien.
Sais tu pourquoi?
Si non, on va travailler sur ce pourquoi, pas la peine de lire la suite de ce message.
Si oui.
Montre moi un code qui calcule le cosinus de 1, 2 et 3.
Dans ce code
Tu définis des fonctions, mais tu ne t'en sers pas.
def ajouterunepersonne():
nomcontact1=str(input("saisir un nom"))
prenomcontact1=str(input("saisir un prenom"))
numerocontact1=int(input("saisir un num "))
return(nomcontact1,prenomcontact1,numerocontact1)
def ajouterunepersonne2():
nomcontact2=str(input("saisir un nom"))
prenomcontact2=str(input("saisir un prenom"))
numerocontact2=int(input("saisir un num "))
return(nomcontact2,prenomcontact2,numerocontact2)
def ajouterunepersonne3():
nomcontact3=str(input("saisir un nom"))
prenomcontact3=str(input("saisir un prenom"))
numerocontact3=int(input("saisir un num "))
return(nomcontact3,prenomcontact3,numerocontact3)
Tu définis des fonctions, mais tu ne t'en sers pas.
def ditBonjour(nom, age):
phrase = f"Bonjour {nom}, vous avez {age} ans."
ditBonjour('Baptiste',14)
ditBonjour('Ninon',11)
ditBonjour('Titouan',7)
je vois comment utiliser des fonctions de se type mais Comment utiliser celle précédemment je ne sais pas
Pourtant dans le code que tu as posté à 11h15 (message 10), tu as utilisé la fonction ajouterunepersonne.
celui de 11h15 ne marcher pas et j ai utiliser un menu pour apres aller dans ma fonction meme si celle la ne marcher pas
1-Ajouter une personne 2-Modifier une personne 3-Supprimer une personne 4-Quitter le programme
Quel numéro choisissez-vous ?1
[]
voici la reponse de la console
Quel numéro choisissez-vous ?1
[]
voici la reponse de la console
Pour appeler une fonction sans paramètre, c'est pareil que pour une fonction avec paramètres.
Sauf qu'on ne met pas de paramètre
Sauf qu'on ne met pas de paramètre
def ajouterunepersonne():
nomcontact1=str(input("saisir un nom"))
prenomcontact1=str(input("saisir un prenom"))
numerocontact1=int(input("saisir un num "))
return(nomcontact1,prenomcontact1,numerocontact1)
def ajouterunepersonne2():
nomcontact2=str(input("saisir un nom"))
prenomcontact2=str(input("saisir un prenom"))
numerocontact2=int(input("saisir un num "))
return(nomcontact2,prenomcontact2,numerocontact2)
def ajouterunepersonne3():
nomcontact3=str(input("saisir un nom"))
prenomcontact3=str(input("saisir un prenom"))
numerocontact3=int(input("saisir un num "))
return(nomcontact3,prenomcontact3,numerocontact3)
ajouterunepersonne
ajouterunepersonne2
ajouterunepersonne3
comme cela
Oui, ce code fait littéralement ce que je t'ai demandé.
Mais j'aimerais mieux, d'une part en l'état, les personnes saisies ne sont pas stockées dans le repertoire (on y reviendra juste après).
Et d'autre part, ça n'est pas optimisé.
Revenons au cosinus (c'est un exemple parmi d'autres).
Poste un code qui calcule le cosinus de 1, puis celui de 2 et celui de 3 (c'est des radians).
Mais j'aimerais mieux, d'une part en l'état, les personnes saisies ne sont pas stockées dans le repertoire (on y reviendra juste après).
Et d'autre part, ça n'est pas optimisé.
Revenons au cosinus (c'est un exemple parmi d'autres).
Poste un code qui calcule le cosinus de 1, puis celui de 2 et celui de 3 (c'est des radians).
Ce faisant, il ne t'a pas aidé et en plus il a enfreint les règles de ce forum
Maintenant, 2 choix s'offrent à toi,