Consulta con un programa en Python
Publicado por Gustavo (2 intervenciones) el 15/06/2018 03:18:57
Qué tal? Soy nuevo en este foro, espero no estar infringiendo ninguna regla. Soy también bastante novato en cuanto a programación. Estaba intentando hacer un programa que me genere un vector donde cada elemento sea un diccionario. Es decir, en la posición [0] que contenga una variable del estilo alumno {'nombre': 'Carlos', 'edad': '30'} y así.
El problema surge en que no logro hacerlo. Lo que me ocurre es que el "for" que construyo me termina guardando los mismos ingresos en todas las posiciones del array!
El código es el siguiente:
Alguna idea del por qué? También cualquier mejoría sobre el código es súper bienvenida!
Muchas gracias por cualquier información!!
El problema surge en que no logro hacerlo. Lo que me ocurre es que el "for" que construyo me termina guardando los mismos ingresos en todas las posiciones del array!
El código es el siguiente:
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
alumno = {}
alumnadoTotal = ['']
def ingNombre ():
print ('Ingrese el nombre del alumno: ')
nombre = input ()
return nombre
def ingDNI ():
print ('Ingrese el DNI: ')
dni = int ( input () )
return dni
def ingNotas ():
print ('Ingrese las notas del alumno. Ingrese * cuando haya finalizado')
ingreso = ''
notas = 0
cantNotas = 0
while ingreso != '*':
print ('Ingrese la nota número ' + str(cantNotas+1) + ' :')
ingreso = input ()
if ingreso == '*':
break
else:
notas = notas + int (ingreso)
cantNotas+=1
promedio = notas / cantNotas
return promedio
def cargarAlumno():
alumno['nombre'] = ingNombre ()
alumno['dni'] = ingDNI ()
alumno['notas'] = ingNotas ()
return alumno
print ('Programa que carga nombre, dni y promedio de N alumnos')
cantAlumnos = int(input('Cuantos alumnos desea cargar a la lista? '))
for i in range (cantAlumnos):
alumnadoTotal.append (cargarAlumno())
print (alumnadoTotal)
Alguna idea del por qué? También cualquier mejoría sobre el código es súper bienvenida!
Muchas gracias por cualquier información!!
Valora esta pregunta
0