1
resposta

[Sugestão] resposta

import os
banco_de_dados = []

def adicionar():
    os.system('cls')
    nome = input('insira um nome: ').title()
    idade = int(input('insira uma idade: '))
    notas = input('insira as notas (separadas por virgula): ').split(',')

    notas_para_media = [float(nota.strip()) for nota in notas]

    media = sum(notas_para_media) / len(notas_para_media)

    indices = {'nome': nome,
               'idade': idade,
               'media': round(media, 2)}

    banco_de_dados.append(f'''
Nome : {indices['nome']}
Idade : {indices["idade"]}
Média : {indices["media"]}
''')
    
def confirmar():
    while True:
        confirmacao = input('Deseja adicionar mais? (s/n) : ').capitalize()
    
        if confirmacao == 'S':
            os.system('cls')
            adicionar()
        elif confirmacao == 'N':
            for dado in banco_de_dados:
                print(dado)
            break
        else:
            os.system('cls')
            print('digite apenas s ou n')
            confirmar()

def main():
    adicionar()
    confirmar()

main()
1 resposta

Olá, Yan! Como vai?

Muito bem! Continue resolvendo os desafios e compartilhando com a comunidade Alura.

Observei que você explorou o uso de funções personalizadas para organizar seu código, utilizou muito bem o dicionário para estruturar os dados de cada aluno e ainda compreendeu a importância da manipulação de listas e strings para tratar as notas inseridas.

Uma dica interessante para o futuro é usar listas de dicionários para facilitar a manipulação posterior dos dados. Dessa forma:

import os

banco_de_dados = []

def adicionar():
    os.system('cls' if os.name == 'nt' else 'clear')  # compatível com Windows/Linux
    nome = input('Insira um nome: ').title()
    idade = int(input('Insira uma idade: '))
    notas = input('Insira as notas (separadas por vírgula): ').split(',')

    notas_para_media = [float(nota.strip()) for nota in notas]
    media = sum(notas_para_media) / len(notas_para_media)

    registro = {
        'nome': nome,
        'idade': idade,
        'media': round(media, 2)
    }

    banco_de_dados.append(registro)

def confirmar():
    while True:
        confirmacao = input('Deseja adicionar mais? (s/n): ').strip().lower()
        
        if confirmacao == 's':
            adicionar()
        elif confirmacao == 'n':
            os.system('cls' if os.name == 'nt' else 'clear')
            print("=== Relatório Final ===\n")
            for aluno in banco_de_dados:
                print(f"Nome : {aluno['nome']}")
                print(f"Idade : {aluno['idade']}")
                print(f"Média : {aluno['media']}\n")
            break
        else:
            os.system('cls' if os.name == 'nt' else 'clear')
            print('Digite apenas s ou n.')

def main():
    adicionar()
    confirmar()

if __name__ == '__main__':
    main()

Resultado:

Insira um nome: Amanda
Insira uma idade: 25
Insira as notas (separadas por vírgula): 10, 9, 7
Deseja adicionar mais? (s/n): n
=== Relatório Final ===

Nome : Amanda
Idade : 25
Média : 8.67

Isso faz com que seus dados fiquem mais fáceis de acessar, filtrar ou exportar no futuro!

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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