首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python嵌套函数变量作用域

Python嵌套函数变量作用域

提问于 2018-03-14 04:28:46
回答 2关注 0查看 414

我读过几乎所有关于这个主题的其他问题,但我的代码仍然不能正常工作。

我想我遗漏了python变量范围的一些东西。

这是我的代码:

代码语言:txt
复制
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)

我得到了

"global name '_total' is not defined"

我知道问题出在_total任务,但我不明白为什么。不应该recurse()是否有权访问父函数的变量?

有人能向我解释一下关于python变量范围我缺少的是什么吗?

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档