-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Projeto Guiado - Maria Camila #25
base: main
Are you sure you want to change the base?
Conversation
presenca = entrada == "True" | ||
aulas.append(presenca) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bom uso da lógica para guardar a presença :)
for nome in dataset: | ||
print(f"- {nome}") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ó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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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: