In [45]:
def f( km, regen, nutzung, weights=(0.03, .25, 0.07)):
    basis, nutzungs_factor, regen_factor = weights
    if regen:
        return (basis + nutzungs_factor*nutzung + regen_factor*1) * km
    else: 
        return (basis + nutzungs_factor*nutzung ) * km

In [46]:
print "km, regen, kein_regen"
for i in range(5):
    km = 100+20*i
    print km,  f(km, True, .5 ), f(km, False, .5 )
    
    
print
print "unterschiedliche nutzung"

print "km, wenig, viel, wenig regen, viel regen"
for i in range(5):
    km = 100+20*i
    print km,  f(km, False, .3 ), f(km, False, .5 ), f(km, True, .3 ), f(km, True, .5 )
    
    
print f( 258, False, 0.5)
print f( 227, True, 0.54)


km, regen, kein_regen
100 22.5 15.5
120 27.0 18.6
140 31.5 21.7
160 36.0 24.8
180 40.5 27.9

unterschiedliche nutzung
km, wenig, viel, wenig regen, viel regen
100 10.5 15.5 17.5 22.5
120 12.6 18.6 21.0 27.0
140 14.7 21.7 24.5 31.5
160 16.8 24.8 28.0 36.0
180 18.9 27.9 31.5 40.5
39.99
53.345

In [ ]: