Ayuda con el return en una función? Python.
Publicado por Manuel (12 intervenciones) el 12/06/2017 19:46:09
Hola comunidad, soy nuevo, tanto en el foro como en el estudio de la informática.
Actualmente estamos aprendiendo Python.
Resulta que practicando para un exámen que se aproxima, me encuentro con un problema al retornar una variable en una función. Dicha variable contiene un diccionario.
Partiendo de una actividad con el siguiente enunciado:
# Las docentes desean hacer un relevamiento de todos los alumnos que han
cursado la materia desde el año 2000 hasta la actualidad. Para tal fin desean:
a) Almacenar en un diccionario la siguiente información: DNI, Nombre, Apellido, Fecha en la que curso formato ddmmaaaa, Aprobado(si/no).
La carga de la información finaliza al ingresar un DNI igual a 0.
Resulta que la actividad la hice y me funciona, en excepción la parte en la que retorna el diccionario, por lo que al no ser retornado, las funciones de las siguientes actividades no pueden tomarlo como parámetro.
El ejercicio me quedó así:
Cuando el bucle while finaliza, la devolución del programa es simplemente:
[ ]
Sin más, dos corchetes vacíos... He intentado colocando (dicc2) entre paréntesis, y no hay caso, el único modo de que me devuelva el diccionario, es colocando print(dicc2)
Pero esto no me sirve ya que las siguientes funciones que debo realizar trabajan con el diccionario.
Espero puedan ayudarme, saludos.
Actualmente estamos aprendiendo Python.
Resulta que practicando para un exámen que se aproxima, me encuentro con un problema al retornar una variable en una función. Dicha variable contiene un diccionario.
Partiendo de una actividad con el siguiente enunciado:
# Las docentes desean hacer un relevamiento de todos los alumnos que han
cursado la materia desde el año 2000 hasta la actualidad. Para tal fin desean:
a) Almacenar en un diccionario la siguiente información: DNI, Nombre, Apellido, Fecha en la que curso formato ddmmaaaa, Aprobado(si/no).
La carga de la información finaliza al ingresar un DNI igual a 0.
Resulta que la actividad la hice y me funciona, en excepción la parte en la que retorna el diccionario, por lo que al no ser retornado, las funciones de las siguientes actividades no pueden tomarlo como parámetro.
El ejercicio me quedó así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
dicc2={}
def Cargaalumnos(dicc2):
dni=(input("Ingrese DNI: "))
while int(dni)!=0:
nombre=input("Ingrese nombre del alumno: ")
apellido=input("Ingrese apellido del alumno: ")
fecha=input("Ingrese fecha de cursada del alumno, formato dd/mm/aaaaa: ")
aprobo=input("Ingrese condición aprobado s/n ")
dicc2[dni]=[nombre,apellido,fecha,aprobo]
print("Este es el diccionario que ha creado: ",dicc2[dni])
dni=(input("Inrese DNI: "))
#Si yo no reotrno el diccionario cargado, las demás funciones no podrán utilizarlo, lo leerán vacío.
return dicc2
Cuando el bucle while finaliza, la devolución del programa es simplemente:
[ ]
Sin más, dos corchetes vacíos... He intentado colocando (dicc2) entre paréntesis, y no hay caso, el único modo de que me devuelva el diccionario, es colocando print(dicc2)
Pero esto no me sirve ya que las siguientes funciones que debo realizar trabajan con el diccionario.
Espero puedan ayudarme, saludos.
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