ventilaar
/
twitter_zuil
Archived
1
Fork 0

fa2 main programmed, todo: algorithm beschrijving

This commit is contained in:
ventilaar 2020-09-16 13:53:29 +02:00
parent abff08989f
commit d9eb3e9a93
1 changed files with 109 additions and 0 deletions

109
homework PROGA/FA2/main.py Normal file
View File

@ -0,0 +1,109 @@
# bereken basisprijs per KM
def standaardprijs(afstandKM):
# prijskort geeft de waarde onder 50KM aan, prijslang boven de 50KM, basisprijs voor langer dan 50km
prijskort = 0.80
prijslang = 0.60
basisprijs = 15
# do not allow negative KM, return 0
if afstandKM < 0:
return 0
# calculate price until 50KM, and return, round to 2 decimals or you get weird floats
if afstandKM < 50:
return round(afstandKM*prijskort, 2)
# calculate price 50KM and longer, and return
if afstandKM >= 50:
return round(prijslang*afstandKM+basisprijs, 2)
# bereken ritprijs afhankelijk van leeftijd, dag en rit lengte
def ritprijs(leeftijd, weekendrit, afstandKM):
# bereken basisprijs
basisprijs = standaardprijs(afstandKM)
# jonger dan 12 of 65 en ouder
if leeftijd < 12 or leeftijd >= 65:
# check of het weekend is
if weekendrit == True:
# tijdens het weekend 35% korting
return round(basisprijs*0.65, 2)
else:
# geen weekend, 30% korting
return round(basisprijs*0.70, 2)
else:
# check of het weekend is
if weekendrit == True:
# tijdens weekend 40% korting
return round(basisprijs*0.60, 2)
else:
# geen weekend, basisprijs
return round(basisprijs, 2)
# testen
# 11 jaar, geen weekend 0 kilometer
print(ritprijs(11, False, 0))
# 12 jaar, geen weekend 0 kilometer
print(ritprijs(12, False, 0))
# 64 jaar, geen weekend 0 kilometer
print(ritprijs(64, False, 0))
# 65 jaar, geen weekend 0 kilometer
print(ritprijs(65, False, 0))
print('---')
# 11 jaar, wel weekend 0 kilometer
print(ritprijs(11, True, 0))
# 12 jaar, wel weekend 0 kilometer
print(ritprijs(12, True, 0))
# 64 jaar, wel weekend 0 kilometer
print(ritprijs(64, True, 0))
# 65 jaar, wel weekend 0 kilometer
print(ritprijs(65, True, 0))
print('-----')
# 11 jaar, geen weekend 10 kilometer
print(ritprijs(11, False, 10))
# 12 jaar, geen weekend 10 kilometer
print(ritprijs(12, False, 10))
# 64 jaar, geen weekend 10 1kilometer
print(ritprijs(64, False, 10))
# 65 jaar, geen weekend 10 kilometer
print(ritprijs(65, False, 10))
print('---')
# 11 jaar, wel weekend 10 kilometer
print(ritprijs(11, True, 10))
# 12 jaar, wel weekend 10 kilometer
print(ritprijs(12, True, 10))
# 64 jaar, wel weekend 10 kilometer
print(ritprijs(64, True, 10))
# 65 jaar, wel weekend 10 kilometer
print(ritprijs(65, True, 10))
print('-----')
# 11 jaar, geen weekend 100 kilometer
print(ritprijs(11, False, 100))
# 12 jaar, geen weekend 100 kilometer
print(ritprijs(12, False, 100))
# 64 jaar, geen weekend 100 1kilometer
print(ritprijs(64, False, 100))
# 65 jaar, geen weekend 100 kilometer
print(ritprijs(65, False, 100))
print('---')
# 11 jaar, wel weekend 100 kilometer
print(ritprijs(11, True, 100))
# 12 jaar, wel weekend 100 kilometer
print(ritprijs(12, True, 100))
# 64 jaar, wel weekend 100 kilometer
print(ritprijs(64, True, 100))
# 65 jaar, wel weekend 100 kilometer
print(ritprijs(65, True, 100))