Ayuda con ejercicio de Python
Publicado por
Yimmy Leandro (1 intervención) el 03/06/2022 19:18:50
Hola, con este código saque 4 en la calificación del vpl, el punto que me falto fue ordenar el diccionario con lso datos valido que tiene el programa, yo puse los codigos y materias que quise, por eso no me dio el 5.
PD, si encuentras una solución para el del clima me avisas no he podido con ese
# es todoas las funciones anteriores en una
def modificar_materia(pensum, semestre, materia, nombre,creditos):
if verificador_semestre(pensum, semestre) == True:
if verificador_dicsem(pensum, semestre) == True:
if verificador_codmateria(pensum, semestre, materia) == True:
return modificador(pensum, semestre, materia, nombre, creditos)
else:
return 'La materia no existe'
else:
return 'El semestre no tiene materias'
else:
return 'Ingrese un semestre válido'
m101 = {'nombre': 'intro a la ing', 'creditos': 2}
m102 = {'nombre': 'ingles', 'creditos': 1}
m103 = {'nombre': 'fundamentos de programacion', 'creditos': 3}
m201 = {'nombre': 'programacion1', 'creditos': 3}
m202 = {'nombre': 'ingles2', 'creditos': 1},
m203 = {'nombre': 'matematicas1', 'creditos': 2}
m301 = {'nombre': 'programacion2', 'creditos': 3}
m302 = {'nombre': 'matematicas2', 'creditos': 2}
m303 = {'nombre': 'ingles3', 'creditos': 1}
m4 = {}
s1 = {'101': '0123', '102': '4567', '103': m103}
s2 = {'201': m201, '202': m202, '203': m203}
s3 = {'301': m301, '302': m302, '303': m303}
s4 = {}
listapensum = [s1,s2,s3,s4]
#valida que el semestre exista en lista pensum[]
def verificador_semestre(pensum, semestre):
ver_sem = []
for i in range(len(pensum)):
ver_sem.append(i+1)
if semestre in ver_sem:
return True
return False
#valida diccionarios de semestre s1,s2,s3,s4 y busca cual es vacio
def verificador_dicsem(pensum, semestre):
j = semestre-1
if pensum[j] == {}:
return False
return True
#despues de mandarse a un diccionario no vacio, valida que las claves
#correspondan o coincidan
def verificador_codmateria(pensum, semestre, materia):
j = semestre - 1
if materia in pensum[j]:
return True
return False
#va al listado, clave, materia, cambia nombre y creditos
def modificador(pensum, semestre, materia, nombre, creditos):
j = semestre - 1
# creo otro diccionario
dic_up = {'nombre': nombre, 'creditos': creditos}
pensum[j][materia].update(dic_up)
return 'Modificada con éxito'
pensum = (input('Pensum: '))
semestre = (input('Semestre: '))
materia = input('Materia: ')
nombre = input('Nombre: ')
creditos = int(input('Creditos: '))