|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Dec 2011
Messaggi: 14
|
python: calcola media voti
ne ho provate di tutti i colori...ma non mi esce, perchè?
Codice:
esami=input("inserisci numero esami\n") for i in range(esami): voto=[input("voto")] def media(voto,esami): return sum (voto) / (float(esami)) print media(voto,esami) |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2004
Messaggi: 1945
|
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Sep 2011
Città: Genova
Messaggi: 93
|
non ti esce perché dividi l'ultimo voto immesso con il numero dei voti.
devi prima sommare tutti i voti. Non metto esempi perché non so se vuoi arrivarci da solo o no. Ma basta che chiedi... Ultima modifica di StefanoD66 : 11-01-2012 alle 19:21. |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Oct 2011
Messaggi: 48
|
Non capisco lo scopo di questo codice:
Se vuoi fare una media dovresti sommare tutti i voti e dividerli per il numero di voti. Poi se vuoi inserirli in una lista devi usare il metodo append della lista, così conservi tutti i voti precedenti e non li sovrascrivi con l'ultimo. Nella funzione della media devi fare una sommatoria di tutti gli elementi della lista, la fai con un ciclo for e poi dividi il risultato con gli esami. |
![]() |
![]() |
![]() |
#5 |
Junior Member
Iscritto dal: Dec 2011
Messaggi: 14
|
forse ho risolto
grazie ai vostri consigli l'ho modificato un pò con "for in range":
Codice:
a=[int(input("voto %d\n"%(i+1)))for i in range(input("numero voti\n"))] def media(a): return sum (a)/(float(len(a))) print "la media è %d"%(media(a)) grazie. p.s. sono inesperto come è intuibile, scusate l'ovvietà del mio problema |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Sep 2011
Città: Genova
Messaggi: 93
|
print "la media è %d"%(media(a))
scritto così non ti funziona, ti da solo interi. se provi a dare 4 voti (4, 3, 2, 1 - tot 10, media 2,5) ti restituisce 2. al posto di %d usa %f per sintetizzare ulteriormente puoi eliminare media(): Codice:
a=[int(input("voto %d\n"%(i+1)))for i in range(input("numero voti\n"))] print "la media e'",sum(a)/float(len(a)) |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:31.