Ejercicio: 3Eva_IT2003_T3 Reportar notas desde un archivo
Propuesta de solución en Python:
# ICM00794-Fundamentos de Computación - FCNM-ESPOL # 3Eva_IT2003_T3 Reportar notas desde un archivo # Usando un menu para cada accion n = 0 # Sin notas opcion = '0' while not(opcion=='4'): print('1. Ingresar notas y Guardar archivo') print('2. Abrir archivo de notas') print('3. Calcular promedio y Guardar archivo notasfinal') print('4. Salir') opcion = input(' -- cual opcion: ') if (opcion=='1'): # Ingresar datos nota = [] n = int(input('cuantos estudiantes: ')) for i in range(0,n,1): matricula = input('matricula: ') apellido = input('apellido: ') nota1 = int(input('nota1 : ')) nota2 = int(input('nota2 : ')) nota.append([matricula,apellido,nota1,nota2]) # Crear archivo 'notas.txt' datos separados por ',' archivo = open('notas.txt','w') for i in range(0,n,1): linea = nota[i][0]+','+nota[i][1]+',' linea = linea +str(nota[i][2])+','+str(nota[i][3])+'\n' archivo.write(linea) print('archivo almacenado') archivo.close() if (opcion=='2'): # Abrir archivo de notas nota = [] archivo = open('notas.txt','r') linea = archivo.readline() #leer por linea hasta final '' while not(linea==''): # Separa y convierte tipo de datos dato = linea.split(',') matricula = dato[0] apellido = dato[1] nota1 = int(dato[2]) nota2 = int(dato[3]) nota.append([matricula,apellido,nota1,nota2]) # Lee la siguiente linea linea = archivo.readline() archivo.close() print('Datos leidos desde archivo') print(nota) if (opcion=='3'): # Calcula promedio n = len(nota) promedio = [] for i in range(0,n,1): prm = float((nota[i][2]+nota[i][3])/2) promedio.append([prm]) # Crear archivo 'final.txt' datos separados por ',' archivo = open('final.txt','w') for i in range(0,n,1): linea = nota[i][0]+','+nota[i][1] linea = linea +','+str(promedio[i])+'\n' archivo.write(linea) print('archivo almacenado') archivo.close() if (opcion=='4'): print('Mejoramiento I Término 2003, Tema 3') print('icm00794 Fundamentos de computacion')