Нумератор заказов
make_order_numbers(start) возвращает функцию; каждый её вызов выдаёт следующий номер заказа:
start + 1, start + 2… У каждого нумератора — свой счёт. Сейчас первый же вызов падает.
Подсказка 1 из 2
Вспомните UnboundLocalError из темы «Область видимости».
Подсказка 2 из 2
nonlocal current