Conversation
| presenca = entrada == "True" | ||
| aulas.append(presenca) |
There was a problem hiding this comment.
Bom uso da lógica para guardar a presença :)
| for nome in dataset: | ||
| print(f"- {nome}") |
There was a problem hiding this comment.
Aqui o esperado é trazer o nome e sobrenome da aluna, não a tupla em si. É necessário buscar na relação das chaves do dicionário o valor no índice 0 e 1 da tupla ou dar nomes para cada um deles, desta forma:
Sugestão:
| for nome in dataset: | |
| print(f"- {nome}") | |
| for nome, sobrenome in dataset.keys(): | |
| print(f'Nome: {nome} {sobrenome}') |
| nome = input("Nome da aluna: ") | ||
| sobrenome = input("Sobrenome da aluna: ") | ||
| notas_aluna = dataset[(nome, sobrenome)]["Notas"] | ||
| if (nome, sobrenome) in dataset: |
There was a problem hiding this comment.
Neste ponto podemos remover esta validação, já que caso não tenha dados no dataset, já foi colocado uma exception.
| nome = input("Nome da aluna: ") | ||
| sobrenome = input("Sobrenome da aluna: ") | ||
| lista_presenca = dataset[(nome, sobrenome)]["Presença"] | ||
| if (nome, sobrenome) in dataset: |
There was a problem hiding this comment.
Neste ponto podemos remover esta validação, já que caso não tenha dados no dataset, já foi colocado uma exception.
| if chave in dataset: | ||
| dados = dataset[chave] | ||
| notas = dados["Notas"] | ||
| soma = sum(notas) |
There was a problem hiding this comment.
Ao pensar em nomes de variáveis, avaliamos se o nome responde o que ela carrega como valor. Neste caso, poderiamos colocar "soma_notas". Não necessariamente precisaria estar isoladamente aqui, poderia ser calculado direto na nota_media também :)
| percentual_presenca = qtd_presenca / len(dados["Presença"]) | ||
| nota_media = soma / len(notas) | ||
|
|
||
| print(f"A aluna {nome} {sobrenome} está com a nota média {nota_media:.2f}") |
There was a problem hiding this comment.
Ótima formatação da saída!
| return notas | ||
|
|
||
| def salvar_dados_aluna(nome, sobrenome, turma, lista_presenca, nota_participacao, notas): | ||
| chave = f"{nome} {sobrenome}" |
There was a problem hiding this comment.
Neste trecho o código está armazenando os dados no dicionário como uma chave de string concatenada, mas o formato esperado era uma tupla de dois elementos com (nome, sobrenome).
Sugestão:
| chave = f"{nome} {sobrenome}" | |
| chave = (nome, sobrenome) |
| "Nome": nome, | ||
| "Sobrenome": sobrenome, |
There was a problem hiding this comment.
Como utilizamos o nome e sobrenome na chave, não é necessário adicionar o nome e sobrenome do corpo do dicionário.
Para o desenvolvimento do projeto eu usei: