UnboundLocalError: local variable '_total' referenced before assignment
@H_301_5@此问题是由以下行引起的:
_total += PRICE_RANGES[key][0]
@H_301_5@有关范围和命名空间的文档 说:
因此,由于该行实际上是在说:
_total = _total + PRICE_RANGES[key][0]
@H_301_5@它
_total
在的名称空间中创建recurse()
。由于这_total
是新的未分配内容,因此您不能在其中使用它。解决方法
我已经阅读了有关该主题的几乎所有其他问题,但是我的代码仍然无法正常工作。
我想我缺少关于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变量范围我缺少什么吗?
_total += PRICE_RANGES[key][0]
@H_301_5@有关范围和命名空间的文档 说:
因此,由于该行实际上是在说:
_total = _total + PRICE_RANGES[key][0]
@H_301_5@它
_total
在的名称空间中创建recurse()
。由于这_total
是新的未分配内容,因此您不能在其中使用它。解决方法
我已经阅读了有关该主题的几乎所有其他问题,但是我的代码仍然无法正常工作。
我想我缺少关于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变量范围我缺少什么吗?
_total = _total + PRICE_RANGES[key][0]
@H_301_5@它
_total
在的名称空间中创建recurse()
。由于这_total
是新的未分配内容,因此您不能在其中使用它。解决方法
我已经阅读了有关该主题的几乎所有其他问题,但是我的代码仍然无法正常工作。
我想我缺少关于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变量范围我缺少什么吗?
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)
此问题是由以下行引起的:
有关范围和命名空间的文档 说:
Python的一个特殊怪癖是-如果没有有效的global
语句-
。分配不复制数据,它们只是将名称绑定到对象。
因此,由于该行实际上是在说:
它_total
在的名称空间中创建recurse()
。由于这_total
是新的未分配内容,因此您不能在其中使用它。
我已经阅读了有关该主题的几乎所有其他问题,但是我的代码仍然无法正常工作。
我想我缺少关于python变量范围的东西。
这是我的代码:
我得到
“未定义全局名称’_total’”
我知道问题出在_total
作业上,但我不明白为什么。不应recurse()
访问父函数的变量吗?
有人可以向我解释python变量范围我缺少什么吗?
此问题是由以下行引起的:
_total += PRICE_RANGES[key][0]
@H_301_5@有关范围和命名空间的文档 说:
因此,由于该行实际上是在说:
_total = _total + PRICE_RANGES[key][0]
@H_301_5@它
_total
在的名称空间中创建recurse()
。由于这_total
是新的未分配内容,因此您不能在其中使用它。解决方法
我已经阅读了有关该主题的几乎所有其他问题,但是我的代码仍然无法正常工作。
我想我缺少关于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变量范围我缺少什么吗?
_total = _total + PRICE_RANGES[key][0]
@H_301_5@它
_total
在的名称空间中创建recurse()
。由于这_total
是新的未分配内容,因此您不能在其中使用它。解决方法
我已经阅读了有关该主题的几乎所有其他问题,但是我的代码仍然无法正常工作。
我想我缺少关于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变量范围我缺少什么吗?
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)
有关范围和命名空间的文档 说:
Python的一个特殊怪癖是-如果没有有效的global
语句-
。分配不复制数据,它们只是将名称绑定到对象。
因此,由于该行实际上是在说:
它_total
在的名称空间中创建recurse()
。由于这_total
是新的未分配内容,因此您不能在其中使用它。
我已经阅读了有关该主题的几乎所有其他问题,但是我的代码仍然无法正常工作。
我想我缺少关于python变量范围的东西。
这是我的代码:
我得到
“未定义全局名称’_total’”
我知道问题出在_total
作业上,但我不明白为什么。不应recurse()
访问父函数的变量吗?
有人可以向我解释python变量范围我缺少什么吗?
有关范围和命名空间的文档 说:
Python的一个特殊怪癖是-如果没有有效的global
语句-
。分配不复制数据,它们只是将名称绑定到对象。
因此,由于该行实际上是在说:
_total = _total + PRICE_RANGES[key][0]
@H_301_5@它
_total
在的名称空间中创建recurse()
。由于这_total
是新的未分配内容,因此您不能在其中使用它。解决方法
我已经阅读了有关该主题的几乎所有其他问题,但是我的代码仍然无法正常工作。
我想我缺少关于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变量范围我缺少什么吗?
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
在的名称空间中创建recurse()
。由于这_total
是新的未分配内容,因此您不能在其中使用它。
我已经阅读了有关该主题的几乎所有其他问题,但是我的代码仍然无法正常工作。
我想我缺少关于python变量范围的东西。
这是我的代码:
我得到
“未定义全局名称’_total’”
我知道问题出在_total
作业上,但我不明白为什么。不应recurse()
访问父函数的变量吗?
有人可以向我解释python变量范围我缺少什么吗?