Switch to generators
This commit is contained in:
parent
4dffc2c920
commit
4fd1320da2
17
pymarks.py
17
pymarks.py
@ -42,6 +42,8 @@ def medie():
|
||||
def get_nome():
|
||||
'''Estrapola [cit.] il nome dello studente dal registro'''
|
||||
news = br.open(url_main)
|
||||
for i in subjects.keys():
|
||||
yield _mean(list(get_marks(i)))
|
||||
|
||||
# Prende il contenuto del tag 'h2' con ID 'student_name'
|
||||
soup = bs4.BeautifulSoup(news)
|
||||
@ -72,24 +74,28 @@ def _converti(lista):
|
||||
# Voti del tipo 6.5
|
||||
voti.append(float(i))
|
||||
# Voti del tipo 7+
|
||||
yield float(i)
|
||||
except ValueError:
|
||||
if i == 'A':
|
||||
pass
|
||||
elif i == 'NC':
|
||||
voti.append(0)
|
||||
yield 0
|
||||
elif i[1] == '+':
|
||||
voti.append(float(i[0]) + 0.25)
|
||||
yield float(i[0]) + 0.25
|
||||
elif i[1] == '-':
|
||||
voti.append(float(i[0]) - 0.25)
|
||||
yield float(i[0]) - 0.25
|
||||
elif i[2] == '-':
|
||||
voti.append(float(i[:-1]) - 0.25)
|
||||
return voti
|
||||
|
||||
yield float(i[:-1]) - 0.25
|
||||
|
||||
def _media(voti):
|
||||
'''Calcola la media di una lista di voti'''
|
||||
return sum(voti) / len(voti)
|
||||
|
||||
marks = list(marks)
|
||||
return sum(marks) / len(marks)
|
||||
|
||||
def _mostra_medie():
|
||||
'''Mostra le medie per ogni materia e generale [Procedura]'''
|
||||
@ -100,6 +106,9 @@ def _mostra_medie():
|
||||
print('Media generale: %.2f' % media_generale)
|
||||
for id, (materia, voto) in enumerate(zip(materie.keys(), voti)):
|
||||
print('%d. %s - Media: %.2f' % (id + 1, materia, voto))
|
||||
print('Media generale: %.2f' % _mean(means()))
|
||||
for id, (subject, voto) in enumerate(zip(subjects.keys(), means())):
|
||||
print('%d. %s: %.2f' % (id + 1, subject, voto))
|
||||
|
||||
|
||||
def _mostra_voti():
|
||||
@ -134,7 +143,7 @@ def main():
|
||||
|
||||
#Menu
|
||||
while True:
|
||||
scelta = raw_input('Scegli [v]oti o [m]edie: ')
|
||||
mode = input('Scegli [v]oti o [m]edie: ')
|
||||
print('')
|
||||
if scelta == 'v':
|
||||
_mostra_voti()
|
||||
|
Loading…
Reference in New Issue
Block a user