0% ont trouvé ce document utile (0 vote)
27 vues4 pages

Import Re

Ce document contient un programme Python pour gérer un carnet de contacts. Il permet d'ajouter, supprimer, rechercher, modifier et afficher des contacts, tout en validant les noms, numéros de téléphone et adresses email. Le programme utilise des expressions régulières pour la validation et propose un menu interactif pour l'utilisateur.

Transféré par

houssem bejaoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
27 vues4 pages

Import Re

Ce document contient un programme Python pour gérer un carnet de contacts. Il permet d'ajouter, supprimer, rechercher, modifier et afficher des contacts, tout en validant les noms, numéros de téléphone et adresses email. Le programme utilise des expressions régulières pour la validation et propose un menu interactif pour l'utilisateur.

Transféré par

houssem bejaoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

import re

def valider_email(email):

"""Vérifie si un email est valide."""

pattern = r'^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$'

return re.match(pattern, email) is not None

def valider_numero(numero):

"""Vérifie si un numéro de téléphone est valide."""

return numero.isdigit() and 8 <= len(numero) <= 15

def valider_nom(nom):

"""Vérifie si un nom est valide."""

return re.match(r'^[a-zA-Z\s]+$', nom) is not None

def afficher_menu():

"""Affiche le menu principal."""

print("\n--- Menu ---")

print("1. Ajouter un contact")

print("2. Supprimer un contact")

print("3. Rechercher un contact")

print("4. Modifier un contact")

print("5. Afficher tous les contacts")

print("6. Quitter")

def ajouter_contact(contacts):

"""Ajoute un contact à la liste."""

nom = input("Entrez le nom : ")

if not valider_nom(nom):

print("Nom invalide. Assurez-vous qu'il contient uniquement des lettres et des espaces.")

return
numero = input("Entrez le numéro de téléphone : ")

if not valider_numero(numero):

print("Numéro invalide. Assurez-vous qu'il contient entre 8 et 15 chiffres.")

return

email = input("Entrez l'email : ")

if not valider_email(email):

print("Email invalide. Contact non ajouté.")

return

contacts[nom] = [numero, email]

print(f"Contact '{nom}' ajouté avec succès.")

def supprimer_contact(contacts):

"""Supprime un contact de la liste."""

nom = input("Entrez le nom du contact à supprimer : ")

if nom in contacts:

del contacts[nom]

print(f"Contact '{nom}' supprimé avec succès.")

else:

print(f"Aucun contact trouvé avec le nom '{nom}'.")

def rechercher_contact(contacts):

"""Recherche un contact par nom."""

nom = input("Entrez le nom du contact à rechercher : ")

if nom in contacts:

numero, email = contacts[nom]

print(f"Nom : {nom}, Numéro : {numero}, Email : {email}")

else:

print(f"Aucun contact trouvé avec le nom '{nom}'.")

def modifier_contact(contacts):

"""Modifie les informations d'un contact existant."""


nom = input("Entrez le nom du contact à modifier : ")

if nom in contacts:

print(f"Contact actuel : {contacts[nom]}")

nouveau_numero = input("Entrez le nouveau numéro (laisser vide pour conserver l'ancien) : ")

if nouveau_numero and not valider_numero(nouveau_numero):

print("Numéro invalide. Modification annulée.")

return

nouveau_email = input("Entrez le nouvel email (laisser vide pour conserver l'ancien) : ")

if nouveau_email and not valider_email(nouveau_email):

print("Email invalide. Modification annulée.")

return

contacts[nom][0] = nouveau_numero or contacts[nom][0]

contacts[nom][1] = nouveau_email or contacts[nom][1]

print(f"Contact '{nom}' modifié avec succès.")

else:

print(f"Aucun contact trouvé avec le nom '{nom}'.")

def afficher_tous_les_contacts(contacts):

"""Affiche tous les contacts."""

if contacts:

print("\n--- Liste des contacts ---")

for nom, (numero, email) in contacts.items():

print(f"Nom : {nom}, Numéro : {numero}, Email : {email}")

else:

print("Aucun contact enregistré.")

def main():

"""Point d'entrée principal du programme."""

contacts = {}

while True:

afficher_menu()
choix = input("Choisissez une option : ")

if choix == "1":

ajouter_contact(contacts)

elif choix == "2":

supprimer_contact(contacts)

elif choix == "3":

rechercher_contact(contacts)

elif choix == "4":

modifier_contact(contacts)

elif choix == "5":

afficher_tous_les_contacts(contacts)

elif choix == "6":

print("Au revoir !")

break

else:

print("Option invalide. Veuillez réessayer.")

if __name__ == "__main__":

main()

Vous aimerez peut-être aussi