-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
48 lines (38 loc) · 1.55 KB
/
main.py
File metadata and controls
48 lines (38 loc) · 1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
def calcular_media(notas):
return sum(notas) / len(notas)
def melhor_pior_disciplinas(medias):
melhores = {}
piores = {}
for aluno, disciplinas in medias.items():
melhores[aluno] = max(disciplinas, key=disciplinas.get)
piores[aluno] = min(disciplinas, key=disciplinas.get)
return melhores, piores
def main():
with open('primeiro_ano.txt', 'r') as file:
linhas = file.readlines()
medias = {}
for linha in linhas:
# Processa cada linha para extrair as informações
dados = linha.strip().split(' -> ')
nome = dados[0]
notas_matematica = list(map(float, dados[1].split(': ')[1].split(', ')))
notas_fisica = list(map(float, dados[2].split(': ')[1].split(', ')))
notas_portugues = list(map(float, dados[3].split(': ')[1].split(',')))
media_matematica = calcular_media(notas_matematica)
media_fisica = calcular_media(notas_fisica)
media_portugues = calcular_media(notas_portugues)
medias[nome] = {
'Matemática': media_matematica,
'Física': media_fisica,
'Português': media_portugues
}
# Identifica as melhores e piores disciplinas
melhores, piores = melhor_pior_disciplinas(medias)
# Exibe os resultados
for aluno, disciplinas in medias.items():
print(f"{aluno}:")
print(f" Médias: {disciplinas}")
print(f" Melhor desempenho em: {melhores[aluno]}")
print(f" Pior desempenho em: {piores[aluno]}\n")
if __name__ == "__main__":
main()