Calcolatore di Spese Enel

Stato
Discussione chiusa ad ulteriori risposte.

HackLife

Utente Silver
26 Maggio 2008
57
11
0
73
Fatto per uso personale (aka, non lo manterrò e non farò modifiche) me se qualcuno ha bisogno di controllare quale tariffa enel gli conviene magari può servire (anche perché ci ho messo un po' solo per capire come funzionava il tutto xD )
Codice:
#Usage:
#VerificaRisparmi(kWh)
#kWh being you annual kWh request

D2 = [0.09451,
      0.13579,
      0.19163,
      0.26201]

D3 = [0.11098,
      0.13006,
      0.17884,
      0.24033]

scaglioni = [1800,2640,4440,18000]

def CalcolaConsumi(tariffa,kWh,contatore):
    spesa = 0
    k = 0
    if tariffa == "D2":
        tariffario = D2
        quota_fissa = 17.5057
        corr_potenza = 5.134*contatore
    elif tariffa == "D3":
        tariffario = D3
        quota_fissa = 45
        corr_potenza = 14.1785*contatore
    
    for parte in scaglioni:
        if kWh >= parte:
            k+=1
            if scaglioni.index(parte)-1 < 0:
                nparte = parte
            else:
                nparte = parte - scaglioni[scaglioni.index(parte)-1]
            subt = nparte * tariffario[scaglioni.index(parte)]
            print "Spesa %d Scaglione: %s" % (k,subt)
            spesa += subt
        else:
            k+= 1
            nparte = kWh - scaglioni[scaglioni.index(parte)-1]
            subt = nparte * tariffario[scaglioni.index(parte)]
            print "Spesa %d Scaglione: %s" % (k,subt)
            spesa += subt

    spesa += quota_fissa
    spesa += corr_potenza
    iva = spesa / 10
    spesa += iva
    print "Spesa Totale Tariffa %s: %d" %(tariffa,spesa)
    return spesa
                
def ControllaPrezzi(kWh,contatore):
    if contatore > 4.5:
        return CalcolaConsumi('D3',kWh,contatore)
    else:
        return CalcolaConsumi('D2',kWh,contatore)

def VerificaRisparmi(kWh):
    spese = (ControllaPrezzi(7000,6),
        ControllaPrezzi(7000,4.5))
    print "#\n\n###Tariffa D3: %s \n###Tariffa D2: %s" %spese
 
Stato
Discussione chiusa ad ulteriori risposte.