forked from Anddor/python-basic
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbaggage_calculator.py
More file actions
36 lines (30 loc) · 966 Bytes
/
Copy pathbaggage_calculator.py
File metadata and controls
36 lines (30 loc) · 966 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import unittest
import math
"""
Norwegian beskriver reglene for bagasje slik:
* Hvert enkelt kolli må ikke veie mer enn 23 kg
eller mindre enn 2 kg.
* Du må betale overvekt for kolli som veier
over 23 kg. Prisen for overvekt er 135 NOK per kilo
Skriv en kalkulator som beregner hvor mye man må
betale for en gitt vekt.
Input vil være et desimaltall mellom 2 og 23 kilo.
Prisen er per begynte kilo rundet oppover.
"""
def bagasje_overvekt(v):
pris = 0
overvekt = 135
if v > 23:
v = math.ceil(v)
v = v - 23
pris = v * overvekt
return pris
class BaggageCalc(unittest.TestCase):
def test_underweight(self):
self.assertEquals(bagasje_overvekt(5.5), 0)
def test_overweight(self):
self.assertEquals(bagasje_overvekt(30), 945)
def test_rounded(self):
self.assertEqual(bagasje_overvekt(23.5), 135)
if __name__ == '__main__':
unittest.main()