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

atividade #21

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

atividade #21

wants to merge 1 commit into from

Conversation

tengsammy
Copy link

Oi Mayu!

Tudo bom?
Acabei copiando alguns códigos do exercício de casa e outros pedi ajuda!

Saiu hehehe

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.

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

Comment on lines +87 to +89
chave = (nome)
dataset[chave] = {
"Sobrenome": sobrenome,
Copy link
Collaborator

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:

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

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.

Comment on lines +106 to +110
nome_completo = dataset[nome]['Sobrenome']
if sobrenome != nome_completo:
print("Aluna não encontrada")
return ValueError
nome_completo = nome + ' ' + nome_completo
Copy link
Collaborator

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:

Suggested change
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:

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

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:

Suggested change
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)

Comment on lines +162 to +165
if nota_participacao >= 6:
return "Aprovada"
else:
return "Reprovada"
Copy link
Collaborator

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.

Comment on lines +133 to +144
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)
Copy link
Collaborator

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

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

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:

Suggested change
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.")

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