1. Autopistes de peatge (4 punts)¶
Dissenya les funcions següents i desa-les al fitxer autopistes.py.
- trams(numEntrada, numSortida, preuTram, preuMax)¶
Retorna un
floatamb el preu d’anar des de l’entrada numEntrada fins a la sortida numSortida d’una autopista, on cada tram d’autopista costa preuTram euros, i tenim un preu màxim preuMax.Per exemple:
>>> round(trams(3, 10, 6.5, 50), 2) 45.5 >>> round(trams(10, 3, 6.5, 50), 2) 45.5 >>> round(trams(7, 8, 5, 60), 2) 5.0 >>> round(trams(14, 2, 6.1, 60), 2) 60.0
Trobaràs més tests al fitxer
test-trams.txt
- peatge(numEnt, numSor, kms, tipus, teVinyeta)¶
Retorna el preu total del peatge a pagar (un
float).Aquest preu és la suma de dues components. La primera depèn només del número de trams que hi ha entre l’inici (numEnt) i el final (numSor) del trajecte. La segona té en compte el número de quilòmetres que s’han fet (kms), el tipus de vehicle (un string “T” per turisme, “C” per camió, o “A” per altres), i si el vehicle du vinyeta o no (un booleà teVinyeta).
El preu de recórrer els trams d’aquesta autopista és de 6.5€/tram, amb un màxim de 60€.
El càlcul del preu pels quilòmetres recorreguts depèn del tipus de vehicle: si és un turisme és 0.03€/km, si és un camió és 0.4€/km, altrament és 0.25€/km. A més a més, si el vehicle du vinyeta el preu pels quilòmetres rep una bonificació: del 100% si es tracta d’un turisme, del 80% pels camions, altrament del 90%.
Per exemple:
>>> round(peatge(3, 10, 63, 'T', True), 2) 45.5 >>> round(peatge(10, 3, 63, 'C', False), 2) 70.7 >>> round(peatge(7, 8, 14, 'A', True), 2) 6.85 >>> round(peatge(14, 4, 123, 'T', False), 2) 63.69
Trobaràs més tests al fitxer
test-peatge.txt