Python - Ayuda con ejercicio

 
Vista:

Ayuda con ejercicio

Publicado por Pepi (12 intervenciones) el 11/11/2017 20:00:05
Hola, necesito ayuda para realizar este ejercicio.
Gracias.

# Apartado 6.2
# ------------


# Supongamos que tenemos un archivo de texto en los que cada línea corresponde
# a un alumno con sus asignaturas y notas, con el siguiente formato:

# NOMBRE APELLIDO1 APELLIDO2 A1 N1 A2 N2 .... An Nn

# Por ejemplo, podríamos tener un archivo alumno_notas.txt con las siguientes
# líneas:

# Juan Pérez Quirós DGPDS1 7.4 DGPDS2 8.4 IPPPD 9.1 FEST 7.5 AEM 6.2 APCD 8.2 APBD 5.3 ML1 8.8 ML2 7.5 TMO 8.7 ICSR 6.1 MDTE 7.3 DSBI 10.0 PLNCD1 5.0 PLNCD2 6.2 VD 6.4 VI 7.1 TFM 8.5
# María González Peña DGPDS1 5.4 DGPDS2 9.3 IPPPD 8.7 FEST 7.6 APCD 9.2 APBD 6.6 ML1 .8 ML2 7.7 TMO 5.2 MDTE 5.3 DSBI 8.2 PLNCD1 6.0 PLNCD2 9.2 VD 6.4 VI 7.1
# Pedro Moncada Escobar DGPDS1 6.4 IPPPD 9.5 FEST 7.8 AEM 5.2 APCD 7.2 APBD 5.8 ML1 8.8 TMO 7.2 ICSR 8.8 DSBI 5.0 PLNCD1 7.0 VD 8.4 VI 6.1
# Salvador Gutiérrez Sánchez DGPDS1 7.7 DGPDS2 8.0 IPPPD 7.3 FEST 7.9 AEM 8.2 APCD 8.6 APBD 5.3 TMO 5.2 ICSR 8.1 MDTE 5.3 PLNCD1 5.3 PLNCD2 7.5 VD 8.4
# Rocío Cotán Sánchez DGPDS2 8.2 FEST 7.1 APCD 6.2 ML1 5.8 ML2 7.9 TMO 5.2 ICSR 9.1 MDTE 6.3 DSBI 6.6 PLNCD1 5.6 PLNCD2 6.5 VI 6.1 TFM 9.5
# Gabriel Mejías Cifuentes DGPDS1 6.9 DGPDS2 7.3 IPPPD 9.0 FEST 6.5 AEM 6.5 APBD 5.7 ML1 7.8 ICSR 8.1 MDTE 5.3 PLNCD1 5.1 PLNCD2 8.0
# Josefa Cabrera León DGPDS1 7.4 DGPDS2 8.4 IPPPD 9.1 FEST 7.5

# Por simplificar, ni los nombres de pila ni los apellidos serán compuestos.

# Se pide definir una función lee_notas(archivo), que recibiendo el nombre del
# archivo, devuelva una lista de objetos de la clase Alumno, cada uno
# conteniendo toda la información de la correspondiente línea del archivo de
# texto.

# Ejemplo:

# >>> lista_alumnos=lee_notas("alumno_notas.txt")

# >>> lista_alumnos
# [Juan Pérez Quirós,
# María González Peña,
# Pedro Moncada Escobar,
# Salvador Gutiérrez Sánchez,
# Rocío Cotán Sánchez,
# Gabriel Mejías Cifuentes,
# Josefa Cabrera León]

# >>> lista_alumnos[2].nombre
# 'Pedro Moncada Escobar'

# >>> lista_alumnos[2].consulta_nota("APCD")
# 7.2

# >>> lista_alumnos[2].consulta_nota("DSBI")
# 5.0

# >>> lista_alumnos[2].consulta_nota("TFM")
# Traceback (most recent call last):

# File "<ipython-input-56-b068fc897dbd>", line 1, in <module>
# lista_alumnos[2].consulta_nota("TFM")

# File "......", line 26, in consulta_nota
# raise AsignaturaNoMatriculada("Asignatura no matriculada para este alumno")

# AsignaturaNoMatriculada: Asignatura no matriculada para este alumno


# >>> lista_alumnos[3].asignaturas_matriculadas()
# ['DGPDS1',
# 'PLNCD2',
# 'PLNCD1',
# 'ICSR',
# 'IPPPD',
# 'DGPDS2',
# 'AEM',
# 'VD',
# 'TMO',
# 'APCD',
# 'APBD',
# 'MDTE',
# 'FEST']
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder