Я прочитал почти все другие вопросы по теме, но мой код все еще не работает.
Я думаю, что я пропускаю что-то о области переменных python.
Вот мой код:
PRICE_RANGES = {
                64:(25, 0.35),
                32:(13, 0.40),
                16:(7, 0.45),
                8:(4, 0.5)
                }
def get_order_total(quantity):
    global PRICE_RANGES
    _total = 0
    _i = PRICE_RANGES.iterkeys()
    def recurse(_i):
        try:
            key = _i.next()
            if quantity % key != quantity:
                _total += PRICE_RANGES[key][0]
            return recurse(_i) 
        except StopIteration:
            return (key, quantity % key)
    res = recurse(_i)
И я получаю
"глобальное имя" _total "не определено"
Я знаю, что проблема связана с назначением _total, но я не могу понять, почему.
Должен ли recurse() иметь доступ к родительским переменным функции?
Может кто-нибудь объяснить мне, что мне не хватает в области переменных python?