Пример #1
0
def cadastrar(Professores):

    while True:
        matricula_prof = Professores.ultima_matricula + 1

        # Leio o nome do professor
        nome_prof = recebe_nome()

        dados_prof = [matricula_prof, nome_prof]

        # Exibo os dados do professor
        print('\nVocê está criando o(a) seguinte professor(a):')
        exibir(dados_prof)

        # Checo se é para confirmar o cadastro
        if geral.perguntar('\nConfirmar cadastro? (s/n)'):

            # Se sim, cadastro o professor
            Professores.adicionar(matricula_prof, nome_prof)
            print('Cadastrando professor(a)...')

            break

        # Caso contrário,
        # Checo se não é para cadastrar um professor
        if not geral.perguntar('\nDeseja cadastrar um(a) professor(a)? (s/n)'):

            # Se sim, paro o loop
            break

        # Caso contrario repetimos o loop

    return Professores
Пример #2
0
def cadastrar(Disciplinas, Professores, Alunos):
    while True:
        # Leio o codigo
        codigo_disciplina = recebe_codigo()

        # Peço o código enquanto o codigo que foi digitado ja estiver cadastrado
        while Disciplinas.checar_codigo(codigo_disciplina):
            print('Esse código já foi cadastrado em outra disciplina.')

            codigo_disciplina = recebe_codigo()

        # Leio o nome da disciplina
        nome_disciplina = recebe_nome()

        # Leio os dias e horarios em que a disciplina irá acontecer
        dias_horarios = recebe_dias_horarios()

        # Leio o professor que ira ministrar essa disciplina
        matricula_prof = recebe_professor(dias_horarios, Disciplinas,
                                          Professores)

        # Leio o local da disciplina
        local = recebe_local(dias_horarios, Disciplinas)

        # Leio o número de vagas
        num_vagas = recebe_vagas()

        # Leio os alunos que serão matriculados nessa disciplina
        alunos_matriculados = recebe_alunos(dias_horarios, num_vagas,
                                            Disciplinas, Alunos)

        # Crio uma lista com os dados da disciplina, afim de facilitar nossa vida
        dados_disciplina = [
            codigo_disciplina, nome_disciplina, dias_horarios, matricula_prof,
            local, num_vagas, alunos_matriculados
        ]

        print('\nVocê está criando a seguinte disciplina:')
        exibir(dados_disciplina)

        if geral.perguntar('\nConfirmar cadastro? (s/n)'):

            # Se sim, cadastro a disciplina
            Disciplinas.adicionar(dados_disciplina)
            print('Cadastrando disciplina...')

            # Paro o loop
            break

        # Caso contrário,
        # Checo se não é para cadastrar uma disciplina

        if not geral.perguntar('\nDeseja cadastrar uma disciplina? (s/n)'):

            # Se sim, paro o loop
            break

        # Caso contrário o looo ira se repetir

    return Disciplinas
Пример #3
0
def recebe_disciplina(lista_disciplinas, Disciplinas):
    while geral.perguntar(
            '\nDeseja matricular esse aluno em alguma disciplina? (s/n)'):
        # Defino a pergunta que será exibida junto com o menu de busca
        pergunta_menu = '\nComo deseja achar a disciplina que que o(a?) aluno(a) irá assistir?'

        # Realizo a busca para saber qual disciplina será assistida
        codigo_disciplina = disciplina.recebe_busca(pergunta_menu, Disciplinas)

        # Checo se a disciplina existe de fato
        if not Disciplinas.checar_codigo(codigo_disciplina):
            print('Por favor, digite uma disciplina válida.')
            continue

        dias_horarios = Disciplinas.lista[codigo_disciplina][1]

        vagas_disponiveis = Disciplinas.lista[codigo_disciplina][4]

        if codigo_disciplina in Disciplinas.matriculas:
            alunos_matriculados = Disciplinas.matriculas[codigo_disciplina]

            tam = len(alunos_matriculados)

            vagas_disponiveis -= tam

        if not vagas_disponiveis:
            print('Essa disciplina já está lotada.')
            continue

        # Se os horarios da disciplina chocarem com os do aluno
        if not disciplina.checar_disponibilidade(lista_disciplinas,
                                                 dias_horarios, Disciplinas):
            # Exibimos uma mensagem de erro e rodamos o loop de novo
            print('Os horários do(a) aluno(a) chocam com o da disciplina.')
            continue

        nome_disciplina, dias_horarios, matricula_prof, local, num_vagas = Disciplinas.lista[
            codigo_disciplina]

        alunos_matriculados = []

        if codigo_disciplina in Disciplinas.matriculas:
            alunos_matriculados = Disciplinas.matriculas[codigo_disciplina]

        dados_disciplina = [
            codigo_disciplina, nome_disciplina, dias_horarios, matricula_prof,
            local, num_vagas, alunos_matriculados
        ]

        print('\nVocê esta matriculando o(a) aluno(a) a seguinte disciplina:')
        disciplina.exibir(dados_disciplina)

        # Se for para cadastrar
        if geral.perguntar('\nConfirma? (s/n)'):
            # Retorno o codigo da disciplina
            return codigo_disciplina
Пример #4
0
def matricular(Alunos, Disciplinas):

    while True:
        # Defino a pergunta que será exibida junto com o menu de busca
        pergunta_menu = '\nComo deseja achar o(a) aluno(a) que você irá matricular em uma disciplina?'

        matricula_aluno = recebe_busca(pergunta_menu, Alunos, Disciplinas)

        if Alunos.checar_matricula(matricula_aluno):
            # Exibo o aluno
            nome_aluno, email, data_nasc = Alunos.lista[matricula_aluno]

            dados_aluno = [matricula_aluno, nome_aluno, email, data_nasc]

            print('\nVocê esta selecionando o(a) seguinte aluno(a):')
            exibir(dados_aluno)

            # Se não for esse professor, rodo o loop de novo
            if not geral.perguntar('\nConfirma? (s/n)'):
                continue

            # Fazemos uma lista com as disciplinas que ele assiste
            lista_disciplinas = []

            if matricula_aluno in Disciplinas.alunos:

                lista_disciplinas = Disciplinas.alunos[matricula_aluno]

            # Defino a pergunta que será exibida junto com o menu de busca
            pergunta_menu = '\nComo deseja achar a disciplina que o(a) aluno(a) irá assistir?'

            codigo_disciplina = recebe_disciplina(lista_disciplinas,
                                                  Disciplinas)

            if codigo_disciplina:

                Disciplinas.adicionar_aluno(codigo_disciplina, matricula_aluno)
                print('Matriculando aluno...')
                break

        # Caso alguma das checagens anteriores não seja verdadeira,
        # Checo se não é para matricular um aluno

        if not geral.perguntar(
                '\nDeseja matricular um(a) aluno(a) em alguma disciplina? (s/n)'
        ):

            # Se sim, paramos o loop
            break

        # Caso contrario, repetimos o loop

    return Disciplinas
Пример #5
0
def associar(Professores, Disciplinas):

    while True:
        # Defino a pergunta que será exibida junto com o menu de busca
        pergunta_menu = '\nComo deseja achar o(a) professor(a) que você irá associar a uma disciplina?'

        # Realizo a busca para saber qual professor vai ser removido
        matricula_prof = recebe_busca(pergunta_menu, Professores, Disciplinas)

        # Checo se o professor existe de fato
        if Professores.checar_matricula(matricula_prof):

            # Exibo o professor que você ira cadastrar
            print('\nVocê esta selecionando o seguinte professor(a):')
            exibir([matricula_prof, Professores.lista[matricula_prof]])

            # Se não for esse professor, rodo o loop de novo
            if not geral.perguntar('\nConfirma? (s/n)'):
                continue

            lista_disciplinas = []

            if matricula_prof in Disciplinas.professores:
                # Fazemos uma lista com as disciplinas que ele ministra
                lista_disciplinas = Disciplinas.professores[matricula_prof]

            codigo_disciplina = recebe_disciplina(lista_disciplinas,
                                                  Disciplinas)

            if codigo_disciplina:

                Disciplinas.adicionar_professor(codigo_disciplina,
                                                matricula_prof)
                print('Associando professor à disciplina...')
                break

        # Caso alguma das checagens anteriores não seja verdadeira,
        # Checo se não é para associar um professor

        if not geral.perguntar(
                '\nDeseja associar um(a) professor(a) a alguma disciplina? (s/n)'
        ):

            # Se sim, paramos o loop
            break

        # Caso contrario, repetimos o loop

    return Disciplinas
Пример #6
0
def remover(Alunos, Disciplinas):
    while True:
        # Defino a pergunta que será exibida junto com o menu de busca
        pergunta_menu = '\nComo deseja achar o(a) aluno(a) que você irá remover?'

        # Realizo a busca para saber qual aluno vai ser removido
        matricula_aluno = recebe_busca(pergunta_menu, Alunos, Disciplinas)

        # Checo se o aluno existe de fato
        if Alunos.checar_matricula(matricula_aluno):

            nome_aluno, email, data_nasc = Alunos.lista[matricula_aluno]

            dados_aluno = [matricula_aluno, nome_aluno, email, data_nasc]

            print('\nExibindo o(a) aluno(a):')
            exibir(dados_aluno)

            # Checo se é para confirmar a remoção
            if geral.perguntar('\nConfirmar remoção? (s/n)'):
                # Se sim, removo o aluno

                if matricula_aluno in Disciplinas.alunos:

                    lista_disciplinas = []

                    for codigo_disciplina in Disciplinas.alunos[
                            matricula_aluno]:
                        lista_disciplinas.append(codigo_disciplina)

                    for codigo in lista_disciplinas:
                        Disciplinas.deletar_aluno(codigo, matricula_aluno)

                Alunos.deletar(matricula_aluno)
                print('Removendo aluno(a)...')
                # Paro o loop
                break

        # Caso alguma das checagens anteriores não seja verdadeira,
        # Checo se não é para remover um professor

        if not geral.perguntar('\nDeseja remover um(a) aluno(a)? (s/n)'):

            # Se sim, paro o loop
            break
        # Caso contrario, repetimos o loop

    return [Alunos, Disciplinas]
Пример #7
0
def recebe_disciplina(lista_disciplinas, Disciplinas):
    while geral.perguntar(
            '\nDeseja associar alguma disciplina à esse professor? (s/n)'):
        # Defino a pergunta que será exibida junto com o menu de busca
        pergunta_menu = '\nComo deseja achar a disciplina que o professor irá ministrar?'

        # Realizo a busca para saber qual disciplina será ministrada
        codigo_disciplina = disciplina.recebe_busca(pergunta_menu, Disciplinas)

        # Checo se a disciplina existe de fato
        if not Disciplinas.checar_codigo(codigo_disciplina):
            print('Por favor, digite uma disciplina válida.')
            continue

        dias_horarios = Disciplinas.lista[codigo_disciplina][1]
        matricula_prof = Disciplinas.lista[codigo_disciplina][2]

        if matricula_prof:
            print('Essa disciplina já tem um professor associado.')
            continue

        # Se os horarios da disciplina chocarem com os do professor
        if not disciplina.checar_disponibilidade(lista_disciplinas,
                                                 dias_horarios, Disciplinas):
            # Exibimos uma mensagem de erro e rodamos o loop de novo
            print('Os horários do(a) professor(a) chocam com o da disciplina.')
            continue

        nome_disciplina, dias_horarios, matricula_prof, local, num_vagas = Disciplinas.lista[
            codigo_disciplina]

        alunos_matriculados = []

        if codigo_disciplina in Disciplinas.matriculas:
            alunos_matriculados = Disciplinas.matriculas[codigo_disciplina]

        dados_disciplina = [
            codigo_disciplina, nome_disciplina, dias_horarios, matricula_prof,
            local, num_vagas, alunos_matriculados
        ]

        print('\nVocê esta associando a seguinte disciplina ao professor(a):')
        disciplina.exibir(dados_disciplina)

        # Se for para cadastrar
        if geral.perguntar('\nConfirma? (s/n)'):
            # Retorno o codigo da disciplina
            return codigo_disciplina
Пример #8
0
def remover(Professores, Disciplinas):
    while True:
        # Defino a pergunta que será exibida junto com o menu de busca
        pergunta_menu = '\nComo deseja achar o professor que você irá remover?'

        # Realizo a busca para saber qual professor vai ser removido
        matricula_prof = recebe_busca(pergunta_menu, Professores, Disciplinas)

        # Checo se o professor existe de fato
        if Professores.checar_matricula(matricula_prof):
            # Exibo o professor antes de remove-lo

            print('\nExibindo o(a) professor(a):')
            exibir([matricula_prof, Professores.lista[matricula_prof]])

            # Checo se é para confirmar a remoção
            if geral.perguntar('\nConfirmar remoção? (s/n)'):
                # Se sim, removo o professor

                if matricula_prof in Disciplinas.professores:

                    lista_disciplinas = []

                    for codigo_disciplina in Disciplinas.professores[
                            matricula_prof]:
                        lista_disciplinas.append(codigo_disciplina)

                    for codigo in lista_disciplinas:
                        Disciplinas.deletar_professor(codigo, matricula_prof)

                Professores.deletar(matricula_prof)
                print('Removendo professor(a)...')
                # Paro o loop
                break

        # Caso alguma das checagens anteriores não seja verdadeira,
        # Checo se não é para remover um professor

        if not geral.perguntar('\nDeseja remover um(a) professor(a)? (s/n)'):

            # Se sim, paramos o loop
            break

        # Caso contrario, repetimos o loop

    return [Professores, Disciplinas]
Пример #9
0
def remover(Disciplinas):
    while True:
        # Defino a pergunta que será exibida junto com o menu de busca
        pergunta_menu = '\nComo deseja achar a disciplina que você irá remover?'

        # Realizo a busca para saber qual disciplina vai ser removida
        codigo_disciplina = recebe_busca(pergunta_menu, Disciplinas)

        # Checo se a disciplina existe de fato
        if Disciplinas.checar_codigo(codigo_disciplina):
            nome_disciplina, dias_horarios, matricula_prof, local, num_vagas = Disciplinas.lista[
                codigo_disciplina]

            alunos_matriculados = []

            if codigo_disciplina in Disciplinas.matriculas:
                alunos_matriculados = Disciplinas.matriculas[codigo_disciplina]

            dados_disciplina = [
                codigo_disciplina, nome_disciplina, dias_horarios,
                matricula_prof, local, num_vagas, alunos_matriculados
            ]

            print('\nExibindo disciplina:')
            exibir(dados_disciplina)

            # Checo se é para confirmar a remoção
            if geral.perguntar('\nConfirmar remoção? (s/n)'):
                # Se sim, removo a disciplina
                Disciplinas.deletar(codigo_disciplina)
                print('Removendo disciplina...')
                # Paro o loop
                break

        # Caso alguma das checagens anteriores não seja verdadeira,
        # Checo se não é para remover uma disciplina
        if not geral.perguntar('\nDeseja remover uma disciplina? (s/n)'):

            # Se sim, paro o loop
            break

        # Caso contrario o loop irá se repetir

    return Disciplinas
Пример #10
0
def cadastrar(Alunos):
    while True:
        # Coloco a matricula do aluno
        matricula_aluno = Alunos.ultima_matricula + 1

        # Leio o nome do aluno
        nome_aluno = recebe_nome()

        # Leio o email do aluno
        email = recebe_email()

        # Leio a data de nascimento do aluno
        data_nasc = recebe_data()

        # Crio uma lista com os dados do aluno, afim de facilitar nossa vida
        dados_aluno = [matricula_aluno, nome_aluno, email, data_nasc]

        # Exibo os dados do aluno
        print('\nVocê está criando o(a) seguinte aluno(a):')
        exibir(dados_aluno)

        # Checo se é para confirmar o cadastro
        if geral.perguntar('\nConfirmar cadastro? (s/n)'):

            # Se sim, cadastro o aluno
            Alunos.adicionar(dados_aluno)
            print('Cadastrando aluno(a)...')

            # Paro o loop
            break

        # Caso contrário,
        # Checo se não é para cadastrar um aluno

        if not geral.perguntar('\nDeseja cadastrar um(a) aluno(a)? (s/n)'):

            # Se sim, paro o loop
            break

        # Caso contrario, repetimos o loop

    return Alunos
Пример #11
0
def recebe_aluno(dias_horarios, Disciplinas, Alunos):
    while geral.perguntar(
            '\nDeseja matricular um(a) aluno(a) à essa disciplina?'):
        # Definimos a pergunta que será exibida com o menu de busca pelo aluno
        pergunta_menu = '\nComo deseja achar o aluno que você irá matricular?'

        matricula_aluno = aluno.recebe_busca(pergunta_menu, Alunos,
                                             Disciplinas)

        # Se o aluno não existe rodamos o loop de novo
        if not matricula_aluno:
            print('Por favor, digite um aluno válido.')
            continue

        # Se o chegamos até aqui significa que a matricula do aluno digitado é válida.
        # Se o aluno já assiste alguma aula, checamos sua disponibilidade.

        if matricula_aluno in Disciplinas.alunos:
            # Fazemos uma lista com as disciplinas que ele assiste
            lista_disciplinas = Disciplinas.alunos[matricula_aluno]

            if not checar_disponibilidade(lista_disciplinas, dias_horarios,
                                          Disciplinas):
                # Exibimos uma mensagem de erro e rodamos o loop de novo
                print('Os horários do(a) aluno(a) chocam com o da disciplina.')
                continue

        # Exibo o aluno que você ira matricular
        nome_aluno, email, data_nasc = Alunos.lista[matricula_aluno]

        dados_aluno = [matricula_aluno, nome_aluno, email, data_nasc]

        # Exibo o aluno que você ira cadastrar
        print('\nVocê esta matriculando o(a) seguinte aluno(a) à disciplina:')
        aluno.exibir(dados_aluno)

        # Se for para cadastrar
        if geral.perguntar('\nConfirmar matrícula? (s/n)'):
            # Retorno a matricula do aluno
            return matricula_aluno
Пример #12
0
def recebe_professor(dias_horarios, Disciplinas, Professores):
    while geral.perguntar(
            '\nVocê deseja cadastrar um(a) professor(a) à essa disciplina?'):
        # Definimos a pergunta que será exibida com o menu de busca pelo professor
        pergunta_menu = '\nComo deseja achar o professor que você irá cadastrar?'

        matricula_prof = professor.recebe_busca(pergunta_menu, Professores,
                                                Disciplinas)

        # Se o professor não existe rodamos o loop de novo
        if not matricula_prof:
            print('Por favor, digite um professor válido.')
            continue

        # Se o chegamos até aqui significa que o código do professor digitado é válido.
        # Se o professor já ministra alguma aula, checamos sua disponibilidade.

        if matricula_prof in Disciplinas.professores:
            # Fazemos uma lista com as disciplinas que ele ministra
            lista_disciplinas = Disciplinas.professores[matricula_prof]

            # Se o professor não tiver disponibilidade
            if not checar_disponibilidade(lista_disciplinas, dias_horarios,
                                          Disciplinas):
                # Exibimos uma mensagem de erro e rodamos o loop de novo
                print(
                    'Os horários do(a) professor(a) chocam com o da disciplina.'
                )
                continue

        # Exibo o professor que você ira cadastrar
        print('\nVocê esta cadastrando o seguinte professor(a) à disciplina:')
        professor.exibir([matricula_prof, Professores.lista[matricula_prof]])

        # Se for para cadastrar
        if geral.perguntar('\nConfirmar cadastro? (s/n)'):
            # Retorno a matricula do professor
            return matricula_prof
Пример #13
0
def modificar(Professores, Disciplinas):
    while True:
        # Defino a pergunta que será exibida junto com o menu de busca
        pergunta_menu = '\nComo deseja achar o(a) professor(a) que você irá modificar?'

        # Realizo a busca para saber qual professor vai ser alterado
        matricula_prof = recebe_busca(pergunta_menu, Professores, Disciplinas)

        # Checo se o professor existe de fato
        if Professores.checar_matricula(matricula_prof):

            # Leio a alteração no professor
            novo_nome_prof = recebe_nome()

            # Exibo o professor com a alteração
            print('\nExibindo professor(a) após as alterações:')
            exibir([matricula_prof, novo_nome_prof])

            # Checo se é para confirmar a modificação
            if geral.perguntar('\nConfirmar modificação? (s/n)'):

                # Se sim, altero o professor
                Professores.alterar(matricula_prof, novo_nome_prof)
                print('Modificando professor(a)...')
                # Paro o loop
                break

        # Caso alguma das checagens anteriores não seja verdadeira,
        # Checo se não é para modificar um professor
        if not geral.perguntar('\nDeseja modificar um(a) professor(a)? (s/n)'):
            # Se sim, paro o loop
            break

        # Caso contrario repetimos o loop

    return Professores
Пример #14
0
def recebe_dias_horarios():

    while True:
        print('\nLendo a grade de dias e horários:')
        # Vamos ler os dias e os hórarios de uma disciplina
        dias_horarios = {}
        dias_semana = ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sab']

        for dia in dias_semana:

            print(
                '\nCaso desejar não cadastrar mais nenhum horário, digite -1.')
            print(f'{dia}: ', end='')

            dias_horarios[dia] = []

            while True:
                inicio = recebe_horario(0)

                if inicio == '-1':
                    break

                final = recebe_horario(1)

                if inicio < final:
                    dias_horarios[dia].append(f'{inicio}-{final}')
                else:
                    print(
                        'O inicio da aula precisa acontecer antes que seu termino.'
                    )

        if valida_dias_horarios(dias_horarios):
            print('\nA disciplina acontecerá nos seguintes dias e horários:')
            print(converte_dias_horarios_str(dias_horarios))

            if geral.perguntar(
                    '\nConfirmar o cadastro desses horários? (s/n)'):
                return dias_horarios

        print(
            'Por favor, digite uma grade de horários válida com no mínimo um horário cadastrado e sem sobreposições.'
        )
Пример #15
0
def modificar(Disciplinas, Professores):
    while True:
        # Defino a pergunta que será exibida junto com o menu de busca
        pergunta_menu = '\nComo deseja achar a disciplina que você irá modificar?'

        # Realizo a busca para saber qual disciplina vai ser alterada
        codigo_disciplina = recebe_busca(pergunta_menu, Disciplinas)

        # Checo se a disciplina existe de fato:
        if Disciplinas.checar_codigo(codigo_disciplina):

            # Crio uma lista com as possiveis modificações na disciplina
            opcoes_modificacoes_disciplina = [
                '\nDeseja modificar o Nome da Disciplina?',
                '\nDeseja modificar a Lista de dias e horários?',
                '\nDeseja modificar o Professor que ministra a disciplina?',
                '\nDeseja modificar o Local?',
                '\nDeseja modificar o Número de Vagas?'
            ]

            # Crio um vetor que vai conter os novos dados da disciplina
            novos_dados = [codigo_disciplina]

            # Percorro a lista de possiveis modificações, checando se é ou não para alterar esse dado da disciplina
            for opcao in range(5):

                # A pergunta a alteracao em questão
                pergunta_modificar = opcoes_modificacoes_disciplina[opcao]

                # O valor do dado que será adicionado a disciplina ou o mesmo que antes se não alterarmos nada
                adicionar = Disciplinas.lista[codigo_disciplina][opcao]

                # Checo se é para alterar o dado
                if geral.perguntar(pergunta_modificar):
                    # Se sim realizo a alteração
                    adicionar = recebe_modificacoes(opcao, codigo_disciplina,
                                                    Disciplinas, Professores)

                # Adiciono o dado na lista atualizado na disciplina
                novos_dados.append(adicionar)

            alunos_matriculados = []

            if codigo_disciplina in Disciplinas.matriculas:
                alunos_matriculados = Disciplinas.matriculas[codigo_disciplina]

            novos_dados.append(alunos_matriculados)

            print('\nExibindo disciplina após as alterações:')
            exibir(novos_dados)

            # Checo se é para confirmar a modificação
            if geral.perguntar('\nConfirmar modificação? (s/n)'):
                novos_dados.remove(alunos_matriculados)

                # Se sim, altero a disciplina
                Disciplinas.alterar(novos_dados)
                print('Modificando disciplina...')
                # Paro o loop
                break

        # Caso alguma das checagens anteriores não seja verdadeira,
        # Checo se não é para modificar uma disciplina
        if not geral.perguntar('\nDeseja modificar uma disciplina? (s/n)'):

            # Se sim, paro o loop
            break

        # Caso contrario o loop irá se repetir

    return Disciplinas
Пример #16
0
def modificar(Alunos, Disciplinas):
    while True:

        # Defino a pergunta que será exibida junto com o menu de busca
        pergunta_menu = '\nComo deseja achar o(a) aluno(a) que você irá modificar?'

        # Realizo a busca para saber qual aluno vai ser alterado
        matricula_aluno = recebe_busca(pergunta_menu, Alunos, Disciplinas)

        # Checo se o aluno existe de fato
        if Alunos.checar_matricula(matricula_aluno):

            # Crio uma lista com as possiveis modificações no aluno
            opcoes_modificacoes_aluno = [
                '\nDeseja modificar o Nome do Aluno?',
                '\nDeseja modificar o Email do Aluno?',
                '\nDeseja modificar a data de nascimento do Aluno?'
            ]

            # Crio um vetor que vai conter os novos dados do aluno
            novos_dados = [matricula_aluno]

            # Percorro a lista de possiveis modificações, checando se é ou não para alterar esse dado do aluno
            for opcao in range(3):

                # A pergunta a alteracao em questão
                pergunta_modificar = opcoes_modificacoes_aluno[opcao]

                # O valor do dado que será adicionado ao aluno ou o mesmo que antes se não alterarmos nada
                adicionar = Alunos.lista[matricula_aluno][opcao]

                # Checo se é para alterar o dado
                if geral.perguntar(pergunta_modificar):
                    # Se sim realizo a alteração
                    adicionar = recebe_modificacoes(opcao)

                # Adiciono o dado na lista atualizado no aluno
                novos_dados.append(adicionar)

            # Exibo o aluno com a alteração
            print('\nExibindo aluno(a) após as alterações:')
            exibir(novos_dados)

            # Checo se é para confirmar a modificação
            if geral.perguntar('\nConfirmar modificação? (s/n)'):

                # Se sim, altero o aluno
                Alunos.alterar(novos_dados)
                print('Modificando aluno(a)...')
                # Paro o loop
                break

        # Caso alguma das checagens anteriores não seja verdadeira,
        # Checo se não é para modificar um aluno
        if geral.perguntar('\nDeseja modificar um(a) aluno(a)? (s/n)'):

            # Se sim, paro o loop
            break

        # Caso contrario, repetimos o loop

    return Alunos