1
resposta

Classificando estudantes por média

lista = []

def titulo(texto):
    print('=' * len(texto))
    print(texto)
    print('=' * len(texto))

def notas():
    cont = 1
    while True:
        notas = {}    
        notas['aluno'] = f'Aluno {cont}'
        notas['a1'] = float(input('Digite a primeira nota: '))
        notas['a2'] = float(input('Digite a segunda nota: '))
        notas['a3'] = float(input('Digite a terceira nota: '))
        notas['media'] = (notas['a1'] + notas['a2'] + notas['a3']) / 3
        
        if notas['media'] >= 7:
            notas['situação'] = 'Aprovado'
        elif 5 <= notas['media'] < 7:
            notas['situação'] = 'Recuperação'
        else:
            notas['situação'] = 'Reprovado'
        
        situacao = input('Quer incluir mais um aluno [S/N]? ').upper()[0]
        lista.append(notas.copy())
        cont += 1
        if situacao == 'N':
            break

def tabela_alunos():
    print(f'{"Aluno":^10} | {"A1":^10} | {"A2":^10} | {"A3":^10} | {"Média":^10} | {"Status":^10}')
    for aluno in lista:
        print(f"{aluno['aluno']:^10} | {aluno['a1']:^10} | {aluno['a2']:^10} | {aluno['a3']:^10} | {aluno['media']:^10.1f} | {aluno['situação']:^10}")
def main():
    titulo('MÉDIA DO ALUNO')
    notas() 
    tabela_alunos()

if __name__ == '__main__':
    main()
1 resposta

Oi, Giovanni! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Seu código ficou bem organizado, com funções separadas para o título, cadastro das notas e exibição da tabela. Também chamou atenção o uso de dicionário para guardar os dados de cada aluno e a lógica com if, elif e else para definir a situação conforme a média.

Uma dica interessante para o futuro é usar o método strip() junto com upper() ao ler a resposta do usuário, evitando problemas caso a pessoa digite espaços antes ou depois da letra.

resposta = input('Deseja continuar? [S/N] ').strip().upper()

if resposta == 'N':
    print('Cadastro encerrado')

Esse código remove espaços extras com strip(), deixa a letra maiúscula com upper() e facilita a verificação da resposta. Continue praticando, sua solução mostra um bom uso de listas, dicionários e condicionais.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!