Sintaxis de una lista
Publicado por Marcos (2 intervenciones) el 25/05/2020 21:13:28
Saludos amigos.
Soy nuevo en Python y he estado en la web buscando ejercicios para practicar, en este momento estoy por el tema de Clases. Me he encontrado con un ejercicio que tiene una sintaxis para una lista que antes no habia visto en la teoria y me gustaria que ustedes me ayudaran a explicarla para poder entender que hace el programa en esa parte del codigo.
la linea es esta (esta en la linea 48 del codigo)
self.contactos.append({'nombre':nom,'telf':telf,'email':email})
lo que no entiendo es porque si self.contactos fue declarado como una lista (linea 6 del codigo), recibe parametros entre llaves..¿luego quien utiiza llaves no son los diccionarios?
Este es el codigo completo:
Soy nuevo en Python y he estado en la web buscando ejercicios para practicar, en este momento estoy por el tema de Clases. Me he encontrado con un ejercicio que tiene una sintaxis para una lista que antes no habia visto en la teoria y me gustaria que ustedes me ayudaran a explicarla para poder entender que hace el programa en esa parte del codigo.
la linea es esta (esta en la linea 48 del codigo)
self.contactos.append({'nombre':nom,'telf':telf,'email':email})
lo que no entiendo es porque si self.contactos fue declarado como una lista (linea 6 del codigo), recibe parametros entre llaves..¿luego quien utiiza llaves no son los diccionarios?
Este es el codigo completo:
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# creamos nuestra clase agendaclass Agenda: # iniciamos nuestra clasedef __init__(self):
# crearemos una lista donde guardaremos los datos de nuestra agendaself.contactos=[]
# menu del programadef menu(self):
print()
menu=[
['Agenda Personal'],
['1. Añadir Contacto',"anadir"],
['2. Lista de contactos'],
['3. Buscar contacto'],
['4. Editar contacto'],
['5. Cerrar agenda']
]for x in range(6):
print(menu[x][0])
opcion=int(input("Introduzca la opción deseada: "))
if opcion==1:
self.anadir()
elif opcion==2:
self.lista()
elif opcion==3:
self.buscar()
elif opcion==4:
self.editar()
elif opcion==5:
print("Saliendo de la agenda ...")
exit()
# volvemos a llamar al menúself.menu()
# función para añadir un contactodef anadir(self):
print("---------------------")
print("Añadir nuevo contacto")
print("---------------------")
nom=input("Introduzca el nombre: ")
telf=int(input("Introduzca el teléfono: "))
email=input("Introduzca el email: ")
self.contactos.append({'nombre':nom,'telf':telf,'email':email})
# función para imprimir la lista de contactos # En este caso imprimiremos solo los nombres de los contactos # con ellos podremos buscar luego un contactodef lista(self):
print("------------------")
print("Lista de contactos")
print("------------------")
if len(self.contactos) == 0:
print("No hay ningún contacto en la agenda")
else:for x in range(len(self.contactos)):
print(self.contactos[x]['nombre'])
# función para buscar un contacto a través del nombredef buscar(self):
print("---------------------")
print("Buscador de contactos")
print("---------------------")
nom=input("Introduzca el nombre del contacto: ")
for x in range(len(self.contactos)):
if nom == self.contactos[x]['nombre']:
print("Datos del contacto")
print("Nombre: ",self.contactos[x]['nombre'])
print("Teléfono: ",self.contactos[x]['telf'])
print("E-mail: ",self.contactos[x]['email'])
return x
# función para editar los datos de un contactodef editar(self):
print("---------------")
print("Editar contacto")
print("---------------")
data=self.buscar()
condition=Falsewhile condition==False:
print("Selecciona que quieres editar: ")
print("1. Nombre")
print("2. Teléfono")
print("3. E-mail")
print("4. Volver")
option=int(input("Introduzca la opción deseada: "))
if option==1:
nom=input("Introduzca el nuevo nombre: ")
self.contactos[data]['nombre']=nom
elif option==2:
telf=input("Introduzca el nuevo teléfono: ")
self.contactos[data]['telf']=telf
elif option==3:
email=input("Introduzca el nuevo email: ")
self.contactos[data]['email']=email
elif option==4:
condition=True# bloque principalagenda=Agenda()
agenda.menu()
Valora esta pregunta


0

