Switch to generators

This commit is contained in:
Rnhmjoj 2014-12-13 18:59:43 +01:00
parent 4dffc2c920
commit 4fd1320da2

View File

@ -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()