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