PDA

View Full Version : [python] previsioni risultati partite di calcio serie A


coidrok
29-01-2012, 05:19
Metto a disposizione della collettivitą il mio programmino


import math
class Classifica:
def __init__(self,pt=0,pgc=0,pgf=0,rfc=0,rff=0,rsc=0,rsf=0):
self.pt=pt
self.pgc=pgc
self.pgf=pgf
self.rff=rff
self.rfc=rfc
self.rsc=rsc
self.rsf=rsf

juventus=Classifica(pt=44,pgc=10,pgf=10,rsc=7,rsf=6,rfc=21,rff=12)
milan=Classifica(pt=40,pgc=9,pgf=10,rsc=5,rsf=12,rfc=21,rff=19)
udinese=Classifica(pt=38,pgc=10,pgf=10,rsc=4,rsf=12,rfc=20,rff=9)
inter=Classifica(pt=35,pgc=10,pgf=9,rsc=9,rsf=11,rfc=17,rff=13)
lazio=Classifica(pt=33,pgc=10,pgf=9,rsc=7,rsf=12,rfc=12,rff=15)
roma=Classifica(pt=30,pgc=9,pgf=9,rsc=10,rsf=10,rfc=18,rff=10)
napoli=Classifica(pt=29,pgc=10,pgf=9,rsc=13,rsf=8,rfc=21,rff=13)
parma=Classifica(pt=24,pgc=10,pgf=10,rsc=12,rsf=21,rfc=19,rff=6)
palermo=Classifica(pt=24,pgc=9,pgf=10,rsc=13,rsf=14,rfc=22,rff=2)
chievo=Classifica(pt=24,pgc=9,pgf=10,rsc=4,rsf=18,rfc=9,rff=7)
genoa=Classifica(pt=24,pgc=9,pgf=10,rsc=9,rsf=25,rfc=13,rff=12)
cagliari=Classifica(pt=23,pgc=10,pgf=9,rsc=7,rsf=11,rfc=6,rff=10)
catania=Classifica(pt=23,pgc=9,pgf=10,rsc=7,rsf=21,rfc=10,rff=12)
fiorentina=Classifica(pt=22,pgc=9,pgf=10,rsc=7,rsf=9,rfc=14,rff=4)
bologna=Classifica(pt=20,pgc=10,pgf=9,rsc=13,rsf=12,rfc=9,rff=8)
atalanta=Classifica(pt=20,pgc=10,pgf=9,rsc=9,rsf=16,rfc=11,rff=12)
siena=Classifica(pt=19,pgc=10,pgf=9,rsc=8,rsf=12,rfc=16,rff=4)
cesena=Classifica(pt=15,pgc=9,pgf=10,rsc=9,rsf=21,rfc=8,rff=5)
lecce=Classifica(pt=13,pgc=9,pgf=10,rsc=18,rsf=18,rfc=9,rff=11)
novara=Classifica(pt=12,pgc=10,pgf=9,rsc=19,rsf=19,rfc=12,rff=6)


ospitante=input("Scrivi il nome della squadra che gioca in casa:")
ospite=input("Scrivi il nome della squadra ospite:")


a=((ospitante.rfc/ospitante.pgc)*(ospite.rsf/ospite.pgf))
b=((ospite.rff/ospite.pgf)*(ospitante.rsc/ospitante.pgc))
print(a,b)
ospitante=input("Scrivi il nome della squadra che gioca in casa:")
ospite=input("Scrivi il nome della squadra ospite:")
c=((ospitante.rfc/ospitante.pgc)*(ospite.rsf/ospite.pgf))
d=((ospite.rff/ospite.pgf)*(ospitante.rsc/ospitante.pgc))
print(c,d)
ospitante=input("Scrivi il nome della squadra che gioca in casa:")
ospite=input("Scrivi il nome della squadra ospite:")
e=((ospitante.rfc/ospitante.pgc)*(ospite.rsf/ospite.pgf))
f=((ospite.rff/ospite.pgf)*(ospitante.rsc/ospitante.pgc))
print(e,f)
ospitante=input("Scrivi il nome della squadra che gioca in casa:")
ospite=input("Scrivi il nome della squadra ospite:")
g=((ospitante.rfc/ospitante.pgc)*(ospite.rsf/ospite.pgf))
h=((ospite.rff/ospite.pgf)*(ospitante.rsc/ospitante.pgc))
print(g,h)
ospitante=input("Scrivi il nome della squadra che gioca in casa:")
ospite=input("Scrivi il nome della squadra ospite:")
i=((ospitante.rfc/ospitante.pgc)*(ospite.rsf/ospite.pgf))
j=((ospite.rff/ospite.pgf)*(ospitante.rsc/ospitante.pgc))
print(i,j)
ospitante=input("Scrivi il nome della squadra che gioca in casa:")
ospite=input("Scrivi il nome della squadra ospite:")
k=((ospitante.rfc/ospitante.pgc)*(ospite.rsf/ospite.pgf))
l=((ospite.rff/ospite.pgf)*(ospitante.rsc/ospitante.pgc))
print(k,l)
ospitante=input("Scrivi il nome della squadra che gioca in casa:")
ospite=input("Scrivi il nome della squadra ospite:")
m=((ospitante.rfc/ospitante.pgc)*(ospite.rsf/ospite.pgf))
n=((ospite.rff/ospite.pgf)*(ospitante.rsc/ospitante.pgc))
print(m,n)
ospitante=input("Scrivi il nome della squadra che gioca in casa:")
ospite=input("Scrivi il nome della squadra ospite:")
o=((ospitante.rfc/ospitante.pgc)*(ospite.rsf/ospite.pgf))
p=((ospite.rff/ospite.pgf)*(ospitante.rsc/ospitante.pgc))
print(o,p)
ospitante=input("Scrivi il nome della squadra che gioca in casa:")
ospite=input("Scrivi il nome della squadra ospite:")
q=((ospitante.rfc/ospitante.pgc)*(ospite.rsf/ospite.pgf))
r=((ospite.rff/ospite.pgf)*(ospitante.rsc/ospitante.pgc))
print(q,r)
ospitante=input("Scrivi il nome della squadra che gioca in casa:")
ospite=input("Scrivi il nome della squadra ospite:")
s=((ospitante.rfc/ospitante.pgc)*(ospite.rsf/ospite.pgf))
t=((ospite.rff/ospite.pgf)*(ospitante.rsc/ospitante.pgc))
print(s,t)

coidrok
29-01-2012, 05:24
Con questo algoritmo le previsioni per le prossime partite sono:

Fiorentina-Siena 1-0 finita 2-1 segno errore 2
Milan-Cagliari 2-0 finita 3-0 segno errore 1
Juventus-Udinese 2-0 finita 2-1 segno errore 1
Cesena-Atalanta 0-1 finita 0-1 beccata
Roma-Bologna 2-0 finita 1-1 sbagliata errore 1
Lecce-Inter 1-2 finita 1-0 sbagliata errore 2
Chievo-Lazio 1-0 finita 0-3 sbagliata errore 2
Genoa-Napoli 0-1 finita 3-2 sbagliata errore 4!
Palermo-Novara 4-0 finita 2-0 segno errore 2
Catania-Parma 2-0 finita 1-1 sbagliata errore 1

Vediamo quante ne prende!----> indovinato un risultato esatto su 10 (un pó pochino effettivamente--)
In compenso ha indovinato 4 segni su 9
Cercheró di migliorare l'algoritmo ragionando sugli errori commessi e trovando altre variabili per il calcolo del pronostico.Ovviamente se avete qualche suggerimento o critica siete invitati ad esporli qui sul forum.Sarebbe molto gradita anche una versione modificata secondo la vostra abilitą di programmatori, del codice da me proposto.
vi terró aggiornati.E se il post sarį seguito prometto di portarlo fino a fine campionato con tanto di statistiche dettagliate sui risultati ottenuti.
Buona serata.
Coidrok