Python - agenda en python

 
Vista:
sin imagen de perfil

agenda en python

Publicado por Gaston (6 intervenciones) el 25/08/2021 23:14:14
Implementaremos una agenda de contactos en Python. Los contactos se almacenan en un
diccionario donde la clave es un string que representa el apellido1
. Y el valor es otro diccionario
con claves “nombre”, “país”, “numero” y “mail”. Los valores de este último diccionario son de
tipo string.

Partiendo del siguiente código:

contactos = {}
validas = "12345X"
terminar = False
while (not terminar):
m = menu(validas)
if m == "1":
nuevo_contacto(contactos)
elif m == "2":
eliminar_contacto(contactos)
elif m == "3":
buscar_por_apellido(contactos)
elif m == "4":
modificar_contacto(contactos)
elif m == "5":
listar_contactos(contactos)
elif m == "X":
terminar = salir()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
sin imagen de perfil

agenda en python

Publicado por Gaston (6 intervenciones) el 26/08/2021 22:17:06
me podrian ayudar con este problema?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

agenda en python

Publicado por Francisco Javier (313 intervenciones) el 27/08/2021 00:13:15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
contactos = {}
validas = "12345X"
terminar = False
 
#FUNCIONES
#con claves “nombre”, “país”, “numero” y “mail”
def nuevo_contacto():
    apellido=input('Dime el apellido: ')
    nombre=input('Dime el nombre: ')
    pais=input('País: ')
    numero=input('Numero de telefono: ')
    mail=input('Email: ')
    contactos[apellido]={'Nombre':nombre,'País':pais,'Numero':numero,'Mail':mail}
    print(contactos)
    print(m)
 
 
def eliminar_contaco():
    apellido=input('Dime el apellido del usuario a eliminar: ')
    del contactos[apellido]
    print(m)
 
 
def buscar():
    apellido=input('Dime el apellido del usuario a eliminar: ')
    if apellido in contactos:
        print('''
        apellido  ->  {}\n
        nombre    ->  {}\n
        pais      ->  {}\n
        número    ->  {}\n
        email     ->  {}\n
        '''.format(apellido,contactos[apellido]['Nombre'],contactos[apellido]['País'],contactos[apellido]['Numero'],contactos[apellido]['Mail']))
        print(m)
 
    else:
        print('El apellido {} no se encuentar en la lista de contactos'.format(apellido))
        print(m)
 
def listar():
    for key in contactos:
      print (key, ":", contactos[key])
    print(m)
 
def modificar():
    apellido=input('Dime el apellido del usuario a eliminar: ')
    cambio=input('Dime que campo quieres cambiar: ')
    act=input('Escribe la modificación: ')
    contactos[apellido][cambio]=act
    print(m)
 
 
 
 
 
 
 
 
m = '''
1-> Nuevo contacto
2-> Eliminar contacto
3-> Buscar por apellido
4-> Modificar contacto
5-> Listar contactos
x-> Salir
'''
print(m)
while (not terminar):
 
    p=input('Elige un opción: ')
    if p=='1':
        nuevo_contacto()
    elif p=='2':
        eliminar_contacto()
    elif p=='3':
        buscar()
    elif p=='4':
        modificar()
    elif p=='5':
        listar()
    elif p=='x':
        terminar=True
    elif p not in validas:
        print('Debes eligir una opción del menú: ')
        print(m)
print('Fin del programa')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

agenda en python

Publicado por Gaston (6 intervenciones) el 01/09/2021 00:46:02
y si en el caso que quiera eliminar a alguien que no esta en la lista? no te daria error ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

agenda en python

Publicado por Francisco Javier (313 intervenciones) el 01/09/2021 01:17:15
Pues si, pero se arregla con un try.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# -*- coding: utf-8 -*-
contactos = {}
validas = "12345X"
terminar = False
 
#FUNCIONES
#con claves “nombre”, “país”, “numero” y “mail”
def nuevo_contacto():
    apellido=input('Dime el apellido: ')
    nombre=input('Dime el nombre: ')
    pais=input('País: ')
    numero=input('Numero de telefono: ')
    mail=input('Email: ')
    contactos[apellido]={'Nombre':nombre,'País':pais,'Numero':numero,'Mail':mail}
    print(contactos)
    print(m)
 
 
def eliminar_contacto():
    try:
      apellido=input('Dime el apellido del usuario a eliminar: ')
      del contactos[apellido]
      print(m)
    except KeyError:
      print('El apellido introducido no está en la agenda')
      print(m)
 
 
 
def buscar():
    apellido=input('Dime el apellido del usuario a eliminar: ')
    if apellido in contactos:
        print('''
        apellido  ->  {}\n
        nombre    ->  {}\n
        pais      ->  {}\n
        número    ->  {}\n
        email     ->  {}\n
        '''.format(apellido,contactos[apellido]['Nombre'],contactos[apellido]['País'],contactos[apellido]['Numero'],contactos[apellido]['Mail']))
        print(m)
 
    else:
        print('El apellido {} no se encuentar en la lista de contactos'.format(apellido))
        print(m)
 
def listar():
    for key in contactos:
      print (key, ":", contactos[key])
    print(m)
 
def modificar():
    apellido=input('Dime el apellido del usuario a eliminar: ')
    cambio=input('Dime que campo quieres cambiar: ')
    act=input('Escribe la modificación: ')
    contactos[apellido][cambio]=act
    print(m)
 
 
 
 
 
 
 
 
m = '''
1-> Nuevo contacto
2-> Eliminar contacto
3-> Buscar por apellido
4-> Modificar contacto
5-> Listar contactos
x-> Salir
'''
print(m)
while (not terminar):
 
    p=input('Elige un opción: ')
    if p=='1':
        nuevo_contacto()
    elif p=='2':
        eliminar_contacto()
    elif p=='3':
        buscar()
    elif p=='4':
        modificar()
    elif p=='5':
        listar()
    elif p=='x':
        terminar=True
    elif p not in validas:
        print('Debes eligir una opción del menú: ')
        print(m)
print('Fin del programa')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

agenda en python

Publicado por Alejandro (1 intervención) el 07/06/2023 21:01:47
Francisco buenas tardes, que tal si esta agenda quisiera que se guarde en un archivo CSV, o DAT o TXT como quedaria el codigo de la Agenda.

lo mismo gracias por tu aporte de esta agenda, me voy a poner a interiorizarme en Python


Gracias
Alejandro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar