fork download
  1. from statistics import mean
  2. import pprint
  3.  
  4. print('RU do aluno: - ')
  5.  
  6. txt = ["primeira", "segunda", "terceira", "quarta"]
  7.  
  8. boletins = {}
  9.  
  10. def coletar_notas(texto):
  11. while True:
  12. try:
  13. return float(input(f'Digite a {texto} nota: '))
  14. except ValueError:
  15. print("<<Nota inválida>>")
  16.  
  17. while True:
  18. try:
  19. N = int(input('Qual o número de alunos? '))
  20. break
  21. except ValueError:
  22. print("<<Número inválido>>")
  23.  
  24. for _ in range(N):
  25. aluno = input('Digite o nome do aluno: ')
  26. notas = [coletar_notas(t) for t in txt]
  27. media = mean(notas)
  28. boletins[aluno] = {
  29. "notas": notas,
  30. "média": media,
  31. "situação": "Reprovado" if media< 7 else "Aprovado"
  32. }
  33.  
  34. pp = pprint.PrettyPrinter(indent=4)
  35. pp.pprint(boletins)
Success #stdin #stdout 0.04s 10736KB
stdin
2
Will
5
6
7
8
Leslie
6
7
8
9
stdout
RU do aluno: - 
Qual o número de alunos? Digite o nome do aluno: Digite a primeira nota: Digite a segunda nota: Digite a terceira nota: Digite a quarta nota: Digite o nome do aluno: Digite a primeira nota: Digite a segunda nota: Digite a terceira nota: Digite a quarta nota: {   'Leslie': {   'média': 7.5,
                  'notas': [6.0, 7.0, 8.0, 9.0],
                  'situação': 'Aprovado'},
    'Will': {   'média': 6.5,
                'notas': [5.0, 6.0, 7.0, 8.0],
                'situação': 'Reprovado'}}