pedrolemoz

Calcular média parcial

Aug 24th, 2019
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.30 KB | None | 0 0
  1. import os, math
  2.  
  3. def calcular(notas, nome, semestre):
  4.     os.system("clear")
  5.     print(f"Aluno: {nome}\nSemestre: {semestre}")
  6.     ira = 0
  7.     cr = 0
  8.     for i in range(int((len(notas) - 1) / 6)):
  9.         offset = 6 * i
  10.         dados = notas[offset + 1].split(", ")
  11.         cadeira = dados[0]
  12.         media = int(dados[1])
  13.         creditos = int(dados[2])
  14.         n1_0 = float(notas[offset + 2][7:])
  15.         n1_1 = float(notas[offset + 3][7:])
  16.         n2_0 = float(notas[offset + 4][7:])
  17.         n2_1 = float(notas[offset + 5][7:])
  18.         af = float(notas[offset + 6][5:])
  19.         n1 = (n1_0 + n1_1) / 2
  20.         n2 = (n2_0 + n2_1) / 2
  21.         mp = ((2 * n1) + (3 * n2)) / 5
  22.         if len(str(mp)) > 4:
  23.             mp = float(str(mp)[:4])
  24.         if int(str(mp)[-1]) != 0 and len(str(mp)) == 4:
  25.             if int(str(mp)[-1]) > 5:
  26.                 arredondamento = math.ceil(float(str(mp)[-2] + "." + str(mp)[-1]))
  27.             else:
  28.                 arredondamento = math.trunc(float(str(mp)[-2] + "." + str(mp)[-1]))
  29.             mp = float(str(mp)[:2] + str(arredondamento))
  30.         cr += creditos
  31.         if mp > 6:
  32.             situacao = "Aprovado"
  33.             mf = mp
  34.         elif mp < 3:
  35.             situacao = "Reprovado"
  36.             mf = mp
  37.         elif 3 < mp < 6:
  38.             situacao = "Avaliação Final"
  39.             mf = (mp + af) / 2
  40.             if mf > media:
  41.                 situacaoAF = "Aprovado"
  42.             else:
  43.                 situacaoAF = "Reprovado"
  44.         ira += mf * creditos
  45.         print("_" * 41 + "\n")
  46.         print(f"Cadeira: {cadeira}\n" + "_" * 41 + "\n")
  47.         print(f"Prova 1: {n1_0}\t\tProva 3: {n2_0}\nProva 2: {n1_1}\t\tProva 4: {n2_1}\n")
  48.         print(f"N1: {n1:.2f}\t\tN2: {n2:.2f}\n")
  49.         print(f"Média parcial:\t\t{mp:.2f}")
  50.         print(f"Situação parcial:\t{situacao}\n")
  51.         print(f"Média Final:\t\t{mf:.2f}")
  52.         if af == 0:
  53.             print(f"Situação Final:\t\t{situacao}")
  54.         else:
  55.             print(f"Situação Final:\t\t{situacaoAF}")
  56.     print("_" * 41 + "\n")
  57.     print(f"IRA: {ira / cr:.2f}")
  58.  
  59. with open("/storage/emulated/0/Python3/Notas.txt", "r") as arquivo:
  60.     notas = arquivo.readlines()
  61.     dados = notas[0].split(", ")
  62.     nome = dados[0]
  63.     semestre = dados[1]
  64.     calcular(notas, nome, semestre)
Add Comment
Please, Sign In to add comment