-
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
atividade #21
base: main
Are you sure you want to change the base?
atividade #21
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.
Olá Samantha!
O import inicial do projeto já estava certinho, e você acabou deletando os dados do dataset na segunda linha ao atribuir um dicionário vazio para o dataset. Tem um detalhe no cálculo de aprovação que está incorreto. Mas de resto, você utilizou as estruturas que vimos em aula e se saiu bem.
Parabéns pelo projeto!
Boa sorte e sucesso na jornada! ♥
chave = (nome) | ||
dataset[chave] = { | ||
"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.
O sobrenome deve estar dentro da chave na tupla. Podemos apenas incluir dentro da tupla.
Sugestão:
chave = (nome) | |
dataset[chave] = { | |
"Sobrenome": sobrenome, | |
chave = (nome, sobrenome) | |
dataset[chave] = { |
@@ -0,0 +1,176 @@ | |||
from dataset_alunas import dataset | |||
dataset = {} #Dicionario com escopo global |
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 dataset já estava importado e com os dados, ao usar essa declaração, estamos colocando um dicionário vazio no lugar do anterior.
nome_completo = dataset[nome]['Sobrenome'] | ||
if sobrenome != nome_completo: | ||
print("Aluna não encontrada") | ||
return ValueError | ||
nome_completo = nome + ' ' + nome_completo |
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 montar a chave da tupla e verificar no dicionário:
Sugestão:
nome_completo = dataset[nome]['Sobrenome'] | |
if sobrenome != nome_completo: | |
print("Aluna não encontrada") | |
return ValueError | |
nome_completo = nome + ' ' + nome_completo | |
chave = (nome, sobrenome) | |
if chave in dataset: |
if sobrenome != nome_completo: | ||
print("Aluna não encontrada") | ||
return ValueError | ||
nome_completo = nome + ' ' + nome_completo | ||
faltas = dataset[nome]['Presença'] | ||
contador = 0 | ||
for f in faltas: | ||
if not f: | ||
contador += 1 | ||
faltas = str(contador) | ||
print('nome completo: ' + nome_completo + ' ' + 'quantidade de faltas: ' + faltas) |
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.
Este código está correto, porém a função count da lista tem o mesmo efeito. Para treino e desenvolvimento inicial é interessante, mas posteriormente, podemos explorar as funções existentes para não precisar implementar as coisas do 0.
Sugestão:
if sobrenome != nome_completo: | |
print("Aluna não encontrada") | |
return ValueError | |
nome_completo = nome + ' ' + nome_completo | |
faltas = dataset[nome]['Presença'] | |
contador = 0 | |
for f in faltas: | |
if not f: | |
contador += 1 | |
faltas = str(contador) | |
print('nome completo: ' + nome_completo + ' ' + 'quantidade de faltas: ' + faltas) | |
faltas.count(False) |
if nota_participacao >= 6: | ||
return "Aprovada" | ||
else: | ||
return "Reprovada" |
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, estamos levando em consideração apenas a nota de participação no cálculo da aprovação. Devemos levar em consideração a nota normal também.
def consultar_status_aprovacao(): | ||
nome = input("Insira o nome da aluna: ") | ||
sobrenome = input("Insira o sobrenome da aluna: ") | ||
nome_completo = dataset[nome]['Sobrenome'] | ||
if sobrenome != nome_completo: | ||
print("Aluna não encontrada") | ||
return ValueError | ||
nota_participação = dataset[nome]['Participação'] | ||
nome_completo = nome + ' ' + nome_completo | ||
media = obter_media_ponderada(nome) | ||
resultado_participação = obter_resultado(nome, nota_participação) | ||
print(nome_completo + ' media da aluna: ' + str(media) + ' Status da aprovação: ' + resultado_participação) |
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.
Adorei que você encapsulou as funções pelas funcionalidades. Parabéns Samantha! ♥
while True: | ||
entrada = input(f"Insira a presença da aula #{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.
Para evitar erros e simplificar o código, deixo uma nova sugestão:
while True: | |
entrada = input(f"Insira a presença da aula #{contador + 1}: ") | |
try: | |
presenca = eval(entrada) | |
aulas.append(presenca) | |
break | |
except NameError: | |
print("Entrada inválida. Por favor, insira True ou False.") | |
while True: | |
entrada = input(f"Insira a presença da aula #{contador + 1} (True/False): ").strip().lower() | |
if entrada == 'true': | |
aulas.append(True) | |
break | |
elif entrada == 'false': | |
aulas.append(False) | |
break | |
else: | |
print("Entrada inválida. Por favor, insira True ou False.") |
Oi Mayu!
Tudo bom?
Acabei copiando alguns códigos do exercício de casa e outros pedi ajuda!
Saiu hehehe