  0           0 RESUME                   0

  1           2 LOAD_CONST               0 (('F', 'D', 'C', 'B', 'A'))
              4 STORE_NAME               0 (LABELS)

  4           6 LOAD_CONST               1 (<code object percent_change at 0x10992b3c0, file "ledger.py", line 4>)
              8 MAKE_FUNCTION            0
             10 STORE_NAME               1 (percent_change)

 10          12 LOAD_CONST               2 (<code object grade at 0x109967630, file "ledger.py", line 10>)
             14 MAKE_FUNCTION            0
             16 STORE_NAME               2 (grade)

 23          18 LOAD_CONST               3 (<code object total at 0x109a0c990, file "ledger.py", line 23>)
             20 MAKE_FUNCTION            0
             22 STORE_NAME               3 (total)

 30          24 LOAD_CONST               4 (<code object grade_label at 0x109a0ca80, file "ledger.py", line 30>)
             26 MAKE_FUNCTION            0
             28 STORE_NAME               4 (grade_label)
             30 RETURN_CONST             5 (None)

Disassembly of <code object percent_change at 0x10992b3c0, file "ledger.py", line 4>:
  4           0 RESUME                   0

  5           2 LOAD_FAST                0 (before)
              4 LOAD_CONST               1 (0)
              6 COMPARE_OP              40 (==)
             10 POP_JUMP_IF_FALSE        1 (to 14)

  6          12 RETURN_CONST             1 (0)

  7     >>   14 LOAD_FAST                1 (after)
             16 LOAD_FAST                0 (before)
             18 BINARY_OP               10 (-)
             22 LOAD_CONST               2 (100)
             24 BINARY_OP                5 (*)
             28 LOAD_FAST                0 (before)
             30 BINARY_OP                2 (//)
             34 RETURN_VALUE

Disassembly of <code object grade at 0x109967630, file "ledger.py", line 10>:
 10           0 RESUME                   0

 11           2 LOAD_FAST                0 (score)
              4 LOAD_CONST               1 (10)
              6 BINARY_OP                2 (//)
             10 STORE_FAST               1 (bucket)

 12          12 LOAD_FAST                1 (bucket)
             14 LOAD_CONST               2 (9)
             16 COMPARE_OP              92 (>=)
             20 POP_JUMP_IF_FALSE        1 (to 24)

 13          22 RETURN_CONST             3 (4)

 14     >>   24 LOAD_FAST                1 (bucket)
             26 LOAD_CONST               4 (8)
             28 COMPARE_OP              40 (==)
             32 POP_JUMP_IF_FALSE        1 (to 36)

 15          34 RETURN_CONST             5 (3)

 16     >>   36 LOAD_FAST                1 (bucket)
             38 LOAD_CONST               6 (7)
             40 COMPARE_OP              40 (==)
             44 POP_JUMP_IF_FALSE        1 (to 48)

 17          46 RETURN_CONST             7 (2)

 18     >>   48 LOAD_FAST                1 (bucket)
             50 LOAD_CONST               8 (6)
             52 COMPARE_OP              40 (==)
             56 POP_JUMP_IF_FALSE        1 (to 60)

 19          58 RETURN_CONST             9 (1)

 20     >>   60 RETURN_CONST            10 (0)

Disassembly of <code object total at 0x109a0c990, file "ledger.py", line 23>:
 23           0 RESUME                   0

 24           2 LOAD_CONST               1 (0)
              4 STORE_FAST               1 (s)

 25           6 LOAD_FAST                0 (values)
              8 GET_ITER
        >>   10 FOR_ITER                 7 (to 28)
             14 STORE_FAST               2 (v)

 26          16 LOAD_FAST                1 (s)
             18 LOAD_FAST                2 (v)
             20 BINARY_OP               13 (+=)
             24 STORE_FAST               1 (s)
             26 JUMP_BACKWARD            9 (to 10)

 25     >>   28 END_FOR

 27          30 LOAD_FAST                1 (s)
             32 RETURN_VALUE

Disassembly of <code object grade_label at 0x109a0ca80, file "ledger.py", line 30>:
 30           0 RESUME                   0

 31           2 LOAD_GLOBAL              0 (LABELS)
             12 LOAD_GLOBAL              3 (NULL + grade)
             22 LOAD_FAST                0 (score)
             24 CALL                     1
             32 BINARY_SUBSCR
             36 RETURN_VALUE
