Ejercicio: 3Eva_IIIT2003_T4 Informes notas de estudiantes
Propuesta de solución en Python:
# ICM00794-Fundamentos de Computación - FCNM-ESPOL # 3Eva_IIIT2003_T4 Informes notas de estudiantes # INGRESO estudiantes = [] n = int(input('cupo: ')) i = 0 while not(i>=n): nom = input('nombre: ') eda = int(input('edad: ')) gen = input(' genero m/f: ') while not(gen=='f' or gen=='m'): print(' genero f o m ') gen = input('genero: ') par = int(input('parcial: ')) while not(par>=0 and par<=100): print(' nota son [0,100] ') par = int(input('parcial: ')) fin = int(input('final: ')) while not(fin>=0 and fin<=100): print(' nota son [0,100] ') fin = int(input('final: ')) registro = {'nombre':nom, 'edad':eda, 'genero':gen, 'parcial':par, 'final':fin} estudiantes.append(registro) i = i+1 # ingresa sin extension '.txt' narchivo = input('nombre del archivo: ') narchivo = narchivo + '.txt' # PROCEDIMIENTO # Guarda el archivo con datos estudiantes n = len(estudiantes) archivo = open(narchivo, 'w') i = 0 while not(i>=n): nom = estudiantes[i]['nombre'] eda = estudiantes[i]['edad'] gen = estudiantes[i]['genero'] par = estudiantes[i]['parcial'] fin = estudiantes[i]['final'] linea = nom +','+str(eda)+','+gen linea = linea + ',' + str(par) linea = linea + ',' + str(fin) + '\n' archivo.write(linea) i = i + 1 archivo.close() # SALIDA print(estudiantes)
resultado del algoritmo
upo: 5
nombre: Juan
edad: 19
genero m/f: m
parcial: 65
final: 40
nombre: Maria
edad: 18
genero m/f: f
parcial: 70
final: 80
nombre: Ana
edad: 19
genero m/f: f
parcial: 90
final: 92
nombre: Juan
edad: 20
genero m/f: m
parcial: 40
final: 80
nombre: Rosa
edad: 18
genero m/f: f
parcial: 80
final: 85
nombre del archivo: calificaciones
[{'nombre': 'Juan', 'edad': 19, 'genero': 'm',
'parcial': 65, 'final': 40},
{'nombre': 'Maria', 'edad': 18, 'genero': 'f',
'parcial': 70, 'final': 80},
{'nombre': 'Ana', 'edad': 19, 'genero': 'f',
'parcial': 90, 'final': 92},
{'nombre': 'Juan', 'edad': 20, 'genero': 'm',
'parcial': 40, 'final': 80},
{'nombre': 'Rosa', 'edad': 18, 'genero': 'f',
'parcial': 80, 'final': 85}]
>>>

