Skip to content
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

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

jacomesoraia
Copy link

Dentro da pasta "para-casa" está a pasta "soraia" onde se encontra o arquivo soraia.py que está meu projeto guiado.

Copy link
Collaborator

@mayumisngk mayumisngk left a 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!

Comment on lines +1 to +62
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
}
}
Copy link
Collaborator

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:

Suggested change
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 = []

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remover excesso de linhas :)

Comment on lines +105 to +117
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.")
Copy link
Collaborator

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!

Comment on lines +154 to +156



Copy link
Collaborator

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:

Suggested change
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())
Copy link
Collaborator

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:

Suggested change
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"]
Copy link
Collaborator

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:

Suggested change
lista_de_presenca = dataset[(nome,sobrenome)]["Presença"]
quantidade_faltas = dataset[(nome,sobrenome)]["Presença"].count(False)

Comment on lines +179 to +182
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}")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excelente implementação! :)

Comment on lines +191 to +207
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}")
Copy link
Collaborator

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! ♥

@jacomesoraia
Copy link
Author

Obrigada pelo feedback tão completo! Já corrigi e vou atualizar meu github!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants