1
resposta

[Dúvida] Phyton

Olá estou fazendo um sistema de notas simples em phyton para a faculdade, o objetivo é: Cadastrar nota Cadastrar faltas Vizualizar notas, faltas e situação do aluno. O código está funcionando como o esperado, entretando quando fui encapsulei em funções as funções chamadas não são exibidos o conteúdo, segue o trecho do código. Espero que alguém possa me ajudar :)

for acao in range(3): print("O que deseja fazer ?") opcao = input("1-Cadastrar Nota\n2-Cadastrar Faltas\n3-Vizualizar Boletim\n0-Sair\n") if (opcao == 1): cadastro_nota() elif (opcao == 2): cadastro_faltas() elif (opcao == 3): vizualizar_boletim(notaM1,notaM2,media,faltas,situacao_aluno) break elif(opcao == 0): print ("Saindo...") exit()

def cadastro_nota(): print ("Você selecionou: Cadastrar Nota") notaM1 = float(input("Digite a nota da M1: ")) notaM2 = float(input("Digite a nota da M2: ")) media = (notaM1 + notaM2)/2 print ("Média: ",media) aprovado = media >= 6 return notaM1, notaM2, media, aprovado

def cadastro_faltas(aprovado): print("Você selecionou: Cadastrar Faltas") faltas = float(input("Digite a quantidade de faltas do aluno: ")) aprovado_faltas = faltas <= 20 situacao_aluno = aprovado and aprovado_faltas

def vizualizar_boletim(notaM1,notaM2,media,faltas,situacao_aluno): print("Você selecionou: Vizualizar Boletim") print("Nota M1: {:2.1f}\nNota M2: {:2.1f} | Média: {:2.1f}\nFaltas do semestre: {:2.0f}\nSituação do Aluno: {}\n" .format(notaM1,notaM2,media,faltas,situacao_aluno))

O código das funções não é lido ficando preso na estrutura do for

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oi, Davi

Eu teste seu código e não está em loop

def cadastro_nota():
    print("Você selecionou: Cadastrar Nota")
    notaM1 = float(input("Digite a nota da M1: "))
    notaM2 = float(input("Digite a nota da M2: "))
    media = (notaM1 + notaM2) / 2
    print("Média:", media)
    aprovado = media >= 6
    return notaM1, notaM2, media, aprovado


def cadastro_faltas(aprovado):
    print("Você selecionou: Cadastrar Faltas")
    faltas = float(input("Digite a quantidade de faltas do aluno: "))
    aprovado_faltas = faltas <= 20
    situacao_aluno = aprovado and aprovado_faltas


def vizualizar_boletim(notaM1, notaM2, media, faltas, situacao_aluno):
    print("Você selecionou: Vizualizar Boletim")
    print("Nota M1: {:2.1f}\nNota M2: {:2.1f} | Média: {:2.1f}\nFaltas do semestre: {:2.0f}\nSituação do Aluno: {}\n".format(
        notaM1, notaM2, media, faltas, situacao_aluno))


for acao in range(3):
    print("O que deseja fazer?")
    opcao = input("1-Cadastrar Nota\n2-Cadastrar Faltas\n3-Visualizar Boletim\n0-Sair\n")

    if opcao == '1':
        cadastro_nota()
    elif opcao == '2':
        cadastro_faltas()
    elif opcao == '3':
        vizualizar_boletim(notaM1, notaM2, media, faltas, situacao_aluno)
        break
    elif opcao == '0':
        print("Saindo...")
        exit()

Como turbinar seus estudos utilizando o fórum