crear una función que toma datos y los agrega a un diccionario
Publicado por Manuel (12 intervenciones) el 12/06/2017 23:39:40
¡Hola comunidad!
Soy nuevo en esto de la informática, y tengo una duda con Python.
Resulta que estoy practicando con ejercicios para un exámen parcial de programación, el cuál consta de crear una función que toma datos y los agrega a un diccionario.
El problema está después, tengo que crear otra función que trabaje sobre ese diccionario que retorno la función anterior, y no sé como hacer que lo tome, ya que cuando lo intento me tira el error de que no está asignado.
Les paso el código (es súper cortito) a ver si me pueden ayudar.
Paso a explicarles: La consigna era crear una función que tome el registro de todos los alumnos hasta que se ingrese un DNI igual a 0.
Que todos los datos se vayan almacenando, por lo que elegí un diccionario donde cada dni es la clave para acceder a cada alumno.
La segunda consigna, y aqui viene el problema, es imprimir el nombre y apellido de aquellos alumnos que hallan cursado en 2015 y hallan aprobado. Me tira el error de que "dicc" (es el diccionario que surge de la funcion anterior) no está definido. "NameError: name 'dicc' is not defined"
Mi duda es... ¿Cómo utilizo ese diccionario en la función número dos? Tengo examen el jueves y no sé como desenvolverme en un ejercicio de ese tipo por culpa de eso...
¡Gracias!
Soy nuevo en esto de la informática, y tengo una duda con Python.
Resulta que estoy practicando con ejercicios para un exámen parcial de programación, el cuál consta de crear una función que toma datos y los agrega a un diccionario.
El problema está después, tengo que crear otra función que trabaje sobre ese diccionario que retorno la función anterior, y no sé como hacer que lo tome, ya que cuando lo intento me tira el error de que no está asignado.
Les paso el código (es súper cortito) a ver si me pueden ayudar.
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
def alumnosdic():
dicc={}
print("Vamos a cargar los datos del alumno:")
dni=int(input("Ingrese DNI: "))
while dni!= 0:
alumno=input("Nombre del alumno: ")
apellido=input("Apellido del alumno: ")
añodecursada=input("Año de cursada: ")
aprobado=input("Ingrese condición de aprobado si/no: ")
dicc[dni]=[alumno,apellido,añodecursada,aprobado]
print("La carga del alumno ",dicc[dni][0][1]," ha finalizado.")
print("\n")
print("Vamos a cargar los datos del siguiente alumno, en el caso de que ya halla finalizado de cargarlos a todos, ingrese 0.")
dni = int(input("Ingrese DNI: "))
return dicc
def dosmilquince():
for valor in dicc.values():
if valor[2]=="2015" and valor[3]=="si":
print("Ese alumno curso en el 2015 y aprobo la asignatura")
alumnosdic()
dosmilquince()
Paso a explicarles: La consigna era crear una función que tome el registro de todos los alumnos hasta que se ingrese un DNI igual a 0.
Que todos los datos se vayan almacenando, por lo que elegí un diccionario donde cada dni es la clave para acceder a cada alumno.
La segunda consigna, y aqui viene el problema, es imprimir el nombre y apellido de aquellos alumnos que hallan cursado en 2015 y hallan aprobado. Me tira el error de que "dicc" (es el diccionario que surge de la funcion anterior) no está definido. "NameError: name 'dicc' is not defined"
Mi duda es... ¿Cómo utilizo ese diccionario en la función número dos? Tengo examen el jueves y no sé como desenvolverme en un ejercicio de ese tipo por culpa de eso...
¡Gracias!
Valora esta pregunta


0