-
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
Entrega do Projeto Guiado #22
base: main
Are you sure you want to change the base?
Conversation
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.
Oi Soraia! ♥
Você evoluiu bastante desde a aula, e vi o fruto do seu empenho aqui. Apesar dos pontos de atenção, acredito que o projeto tenha te dado uma visão de como usamos o que aprenderam no nosso dia a dia. Obrigada por toda a participação na aula.
Fiz uma revisão de código (code review) para você e espero que você possa revisar seu projeto e colocar posteriormente mais coisas. Futuramente, se quiser complementar mais o sistema, você pode pensar em encapsular as funcionalidades, dando mais especifidade a função e dando responsabilidades únicas para ela.
Boa sorte e sucesso na sua jornada! ♥
Parabéns pelo trabalho!
dataset = { | ||
("Ana", "Silva"): { | ||
"Turma": "Turma A", | ||
"Notas": [7.5, 8.0, 9.0], | ||
"Presença": [True, True, False, True, True], | ||
"Participação": 8.5 | ||
}, | ||
("Mariana", "Santos"): { | ||
"Turma": "Turma B", | ||
"Notas": [6.0, 7.5, 8.5], | ||
"Presença": [True, True, True, False, True], | ||
"Participação": 5.0 | ||
}, | ||
("Carla", "Oliveira"): { | ||
"Turma": "Turma A", | ||
"Notas": [8.0, 7.5, 8.5], | ||
"Presença": [True, True, True, False, False], | ||
"Participação": 8.2 | ||
}, | ||
("Juliana", "Ferreira"): { | ||
"Turma": "Turma C", | ||
"Notas": [9.0, 8.5, 7.0], | ||
"Presença": [True, True, True, True, True], | ||
"Participação": 8.7 | ||
}, | ||
("Patrícia", "Souza"): { | ||
"Turma": "Turma B", | ||
"Notas": [5.0, 5.0, 5.0], | ||
"Presença": [True, False, True, True, True], | ||
"Participação": 7.2 | ||
}, | ||
("Aline", "Martins"): { | ||
"Turma": "Turma A", | ||
"Notas": [8.5, 8.0, 9.0], | ||
"Presença": [True, True, True, True, True], | ||
"Participação": 8.5 | ||
}, | ||
("Fernanda", "Costa"): { | ||
"Turma": "Turma C", | ||
"Notas": [6.5, 7.0, 8.0], | ||
"Presença": [True, True, True, False, True], | ||
"Participação": 7.2 | ||
}, | ||
("Camila", "Pereira"): { | ||
"Turma": "Turma B", | ||
"Notas": [7.5, 8.0, 8.5], | ||
"Presença": [True, True, True, True, True], | ||
"Participação": 8.0 | ||
}, | ||
("Luana", "Rodrigues"): { | ||
"Turma": "Turma A", | ||
"Notas": [9.0, 9.0, 8.5], | ||
"Presença": [True, True, True, True, True], | ||
"Participação": 8.8 | ||
}, | ||
("Beatriz", "Lima"): { | ||
"Turma": "Turma C", | ||
"Notas": [8.0, 7.5, 7.0], | ||
"Presença": [True, True, True, False, True], | ||
"Participação": 7.5 | ||
} | ||
} |
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.
O dicionário já estava definido e importado, essa parte não precisava ter alterado. Do mesmo modo que você usou os dados deste dicionário chamado dataset, você poderia ter usado usando esta notação:
O único ponto de atenção é que o arquivo precisa estar na mesma pasta.
Sugestão:
dataset = { | |
("Ana", "Silva"): { | |
"Turma": "Turma A", | |
"Notas": [7.5, 8.0, 9.0], | |
"Presença": [True, True, False, True, True], | |
"Participação": 8.5 | |
}, | |
("Mariana", "Santos"): { | |
"Turma": "Turma B", | |
"Notas": [6.0, 7.5, 8.5], | |
"Presença": [True, True, True, False, True], | |
"Participação": 5.0 | |
}, | |
("Carla", "Oliveira"): { | |
"Turma": "Turma A", | |
"Notas": [8.0, 7.5, 8.5], | |
"Presença": [True, True, True, False, False], | |
"Participação": 8.2 | |
}, | |
("Juliana", "Ferreira"): { | |
"Turma": "Turma C", | |
"Notas": [9.0, 8.5, 7.0], | |
"Presença": [True, True, True, True, True], | |
"Participação": 8.7 | |
}, | |
("Patrícia", "Souza"): { | |
"Turma": "Turma B", | |
"Notas": [5.0, 5.0, 5.0], | |
"Presença": [True, False, True, True, True], | |
"Participação": 7.2 | |
}, | |
("Aline", "Martins"): { | |
"Turma": "Turma A", | |
"Notas": [8.5, 8.0, 9.0], | |
"Presença": [True, True, True, True, True], | |
"Participação": 8.5 | |
}, | |
("Fernanda", "Costa"): { | |
"Turma": "Turma C", | |
"Notas": [6.5, 7.0, 8.0], | |
"Presença": [True, True, True, False, True], | |
"Participação": 7.2 | |
}, | |
("Camila", "Pereira"): { | |
"Turma": "Turma B", | |
"Notas": [7.5, 8.0, 8.5], | |
"Presença": [True, True, True, True, True], | |
"Participação": 8.0 | |
}, | |
("Luana", "Rodrigues"): { | |
"Turma": "Turma A", | |
"Notas": [9.0, 9.0, 8.5], | |
"Presença": [True, True, True, True, True], | |
"Participação": 8.8 | |
}, | |
("Beatriz", "Lima"): { | |
"Turma": "Turma C", | |
"Notas": [8.0, 7.5, 7.0], | |
"Presença": [True, True, True, False, True], | |
"Participação": 7.5 | |
} | |
} | |
from dataset_alunas import dataset |
def lista_de_presenca(): | ||
qntdd_de_aulas = input("Quantas aulas a aluna teve? ") | ||
aulas = [] | ||
|
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.
Remover excesso de linhas :)
qntdd_de_aulas = input("Quantas aulas a aluna teve? ") | ||
aulas = [] | ||
|
||
|
||
for contador in range(int(qntdd_de_aulas)): | ||
while True: | ||
entrada = input(f"Insira a presença da aula. Considere True=presença e False=falta, #{contador + 1}: ") | ||
try: | ||
presenca = eval(entrada) | ||
aulas.append(presenca) | ||
break | ||
except NameError: | ||
print("Entrada inválida. Por favor, insira True ou False.") |
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 implementação da aula de sábado, parabéns!
|
||
|
||
|
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.
Acredito que aqui faltou a implementação de salvar os dados da aluna no dicionário. A parte de cima está toda correta, com as validações e captura de dados do usuário. Mas precisa ter a parte de salvar os dados da aluna.
Ponto de atenção: É importante testar suas funções com os dados que você acabou de inserir no dicionário também. Pois aqui temos duas validações importantes, inclusão da aluna e consulta de informações desta aluna.
Sugestão:
chave = (nome, sobrenome) | |
dataset[chave] = { | |
"Turma": turma, | |
"Notas": notas, | |
"Presença": lista_presença, | |
"Participação": nota_participação | |
} |
|
||
|
||
def consultar_lista_alunas(): | ||
print(dataset.keys()) |
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 podemos formatar a tupla para que possa listar os nomes e sobrenomes:
Sugestão:
print(dataset.keys()) | |
for nome, sobrenome in dataset.keys(): | |
print(f'- {nome} {sobrenome}') |
try: | ||
nome = input("Nome da aluna: ") | ||
sobrenome = input("Sobrenome da aluna: ") | ||
lista_de_presenca = dataset[(nome,sobrenome)]["Presença"] |
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.
Podemos usar a função de count para contar a quantidade de "False" - faltas - dentro da nossa lista booleana.
Outra sugestão é trocar o nome da variável para refletir o valor que a variável vai carregar.
Sugestão:
lista_de_presenca = dataset[(nome,sobrenome)]["Presença"] | |
quantidade_faltas = dataset[(nome,sobrenome)]["Presença"].count(False) |
nome = input("Nome da aluna: ") | ||
sobrenome = input("Sobrenome da aluna: ") | ||
lista_de_notas = dataset[(nome,sobrenome)]["Notas"] | ||
print(f"A aluna {nome} {sobrenome} está com {lista_de_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.
Excelente implementação! :)
notas = dataset[(nome, sobrenome)]["Notas"] | ||
participacao = dataset[(nome, sobrenome)]["Participação"] | ||
media = sum(notas) / len(notas) | ||
presenca = dataset[(nome, sobrenome)]["Presença"] | ||
percentual_presenca = (presenca.count(True) / len(presenca)) * 100 | ||
|
||
|
||
if percentual_presenca < 80: | ||
print("A aluna está reprovada por falta. ") | ||
elif media < 6: | ||
print("A aluna está reprovada por nota. ") | ||
elif participacao < 6: | ||
print("A aluna está reprovada por nota de participação. ") | ||
else: | ||
print("A aluna está aprovada. ") | ||
|
||
print(f"A aluna {nome} {sobrenome} está com média final de {media}") |
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 trabalho no cálculo de aprovação da aluna, adorei que você separou por tipos de reprovação dentro da função! ♥
Obrigada pelo feedback tão completo! Já corrigi e vou atualizar meu github! |
Dentro da pasta "para-casa" está a pasta "soraia" onde se encontra o arquivo soraia.py que está meu projeto guiado.