Tweakers dev challenge writeup - 14

Door Boudewijn op donderdag 1 oktober 2015 00:14 - Reacties (0)
Categorie: Tweakers dev challenge, Views: 860

Ondanks dat ik een python fan ben lenen sommige problemen zich niet per definitie om in python op te lossen.
Dit is er een uit de categorie: met een bierviltje en enig denkwerk kom je net zo ver.
Een webwinkel heeft meerdere types korting door elkaar lopen. Wanneer een bestelling geplaatst wordt door een klant, kunnen al deze kortingen toepasselijk zijn. Onder aan de streep moeten de kortingen dusdanig zijn toegepast dat de totaalprijs zo gunstig mogelijk is voor de klant. Er kan wel telkens maar 1 korting op een product van toepassing zijn.

De mogelijke kortingen zijn:

*Korting op artikelniveau

*Korting op artikelgroepniveau

*Kortingen op klantniveau

*Kortingcode via een coupon


De volgende artikelen en artikelgroepen zijn aanwezig in het assortiment van de webwinkel.

Groepen:

*Beeldschermen (Momenteel een algemene korting van 10% op artikelen in deze groep)

*Adapters

*Harde schijven

*Moederborden (Momenteel een algemene korting van 5% op artikelen in deze groep)

Producten

*17 inch Retina Display in groep 'Beeldschermen'. § 599,00

*15 inch VGA Display in groep 'Beeldschermen'. § 59,00

*Kabeltje met adapter in groep 'Adapters'. § 16,00

*1TB SSD Bikkelschijf 'Harde schijven'. § 129,00 (Bij aanschaf van 5 '1TB SSD Bikkelschijf' schijven 30% korting op alle vijf de schijven).

*15TB NSA SSD in groep 'Harde schijven'. § 412,00

*Gaming ZFER4 in groep 'Moederborden'. § 165,00

*Office SSS4 in groep 'Moederborden'. § 95,00


Momenteel heeft de webshop ook 1 geregistreerde klant:

*Klant A met 30% korting op producten uit de groep 'Adapters'


Vandaag komen onderstaande 2 bestellingen binnen bij de webshop:


Bestelling 1 door 'Klant A''
5 stuks 15 inch VGA Display
12 stuks Kabeltje met adapter
3 stuks 15TB NSA SSD
6 stuks Office SSS4

Bestelling 2 door 'gast'
'gast' gebruikt tevens de couponcode 'SCHIJF' voor 20% korting op artikelen uit de groep 'Harde schijven'

1 stuk Gaming ZFER4
2 stuks 17 inch Retina Display
5 stuks 1TB SSD Bikkelschijf


Hoe hoog was de omzet van de webshop vandaag?
Wat van belang is is dat je in de gaten houdt of er overlappende kortingen zijn, en dat is er helaas maar 1. Hierdoor is het triviaal om met de hand de goede korting te introduceren in plaats van beide of de verkeerde.
Als deze opgave meer artikelen, kortingen en klanten had geteld was het wel leuk geweest om even in Python te coden.
Ik heb een macje van de baas en heb eens gekeken naar de meegeleverde office-applicatie, resultaat. De XLSX versie staat hier.

Invuloefening, jammer hier had meer ingezeten met dynamische kortingen per dag, meer klanten en wellicht iets met valuta?


Op naar de laatste

Volgende: Tweakers dev challenge writeup - 15 10-'15 Tweakers dev challenge writeup - 15
Volgende: Tweakers dev challenge writeup - 13 10-'15 Tweakers dev challenge writeup - 13

Reacties

Er zijn nog geen reacties op deze post


Reactie formulier
(verplicht)
(verplicht, maar wordt niet getoond)
(optioneel)

Voer de code van onderstaand anti-spam plaatje in: