based on a set of ordered numeric breakpoints: 90 and up is an 'A', 80 to 89 is
a 'B', and so on::
- >>> def grade(score, breakpoints=[60, 70, 80, 90], grades='FDCBA'):
- ... i = bisect(breakpoints, score)
- ... return grades[i]
+ >>> def grade(score)
+ ... i = bisect([60, 70, 80, 90], score)
+ ... return "FDCBA"[i]
...
>>> [grade(score) for score in [33, 99, 77, 70, 89, 90, 100]]
['F', 'A', 'C', 'C', 'B', 'A', 'A']
class TestDocExample:
def test_grades(self):
- def grade(score, breakpoints=[60, 70, 80, 90], grades='FDCBA'):
- i = self.module.bisect(breakpoints, score)
- return grades[i]
+ def grade(score):
+ i = self.module.bisect([60, 70, 80, 90], score)
+ return "FDCBA"[i]
result = [grade(score) for score in [33, 99, 77, 70, 89, 90, 100]]
self.assertEqual(result, ['F', 'A', 'C', 'C', 'B', 'A', 'A'])