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 agenda
class Agenda:
# iniciamos nuestra clase
def __init__(self):
# crearemos una lista donde guardaremos los datos de nuestra agenda
self.contactos=[]
# menu del programa
def 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 contacto
def 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 contacto
def 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 nombre
def 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 contacto
def editar(self):
print("---------------")
print("Editar contacto")
print("---------------")
data=self.buscar()
condition=False
while 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 principal
agenda=Agenda()
agenda.menu()
Valora esta pregunta
![Me gusta: Está pregunta es útil y esta clara Me gusta: Está pregunta es útil y esta clara](/img/img.png?11.51)
![NO me gusta: Está pregunta no esta clara o no es útil No me gusta: Está pregunta no esta clara o no es útil](/img/img.png?11.51)
0