【发布时间】:2020-09-02 11:38:59
【问题描述】:
当我已经分配它时,为什么它说“名称'max_range'未定义”。 这是对https://www.algoexpert.io/questions/Largest%20Range 的一个问题的尝试 示例数组:
array = [1, 11, 3, 0, 15, 5, 2, 4, 10, 7, 12, 6]
def largestRange(array):
# Write your code here.
sub_array = array # substitute array as it will be modified later3
Range = [0,0]
max_range = [0,0]
def run() :
global max_range
num = min(sub_array)
Range = [num]
running = True
while running :
num += 1
if num not in sub_array :
Range.append(num - 1)
running = False
pass
else :
sub_array.remove(num)
pass
pass
print(Range)
print(max_range)
if (max_range[1] - max_range[0]) <= (Range[1] - Range[0]) :
max_range = Range
if len(sub_array) != 0:
run()
pass
run()
print(max_range)
return max_range
pass
largestRange(array)
完整的错误:
name 'max_range' is not defined
Traceback (most recent call last):
File "/tester/json_wrapper.py", line 9, in run
actual = program.largestRange(array[:])
File "/tester/program.py", line 30, in largestRange
run()
File "/tester/program.py", line 23, in run
print(max_range)
NameError: name 'max_range' is not defined
堆栈溢出说我的问题主要是代码,所以我只是写了这一行,以便让我发布问题
示例可重现代码:
def largestRange(array):
# Write your code here.
sub_array = array # substitute array as it will be modified later3
Range = [0, 0]
max_range = [0, 0]
def run():
global max_range
num = min(sub_array)
Range = [num]
running = True
while running:
num += 1
if num not in sub_array:
Range.append(num - 1)
running = False
pass
else:
sub_array.remove(num)
pass
pass
print(Range)
print(max_range)
if (max_range[1] - max_range[0]) <= (Range[1] - Range[0]):
max_range = Range
if len(sub_array) != 0:
run()
pass
run()
print(max_range)
return max_range
pass
largestRange([1, 11, 3, 0, 15, 5, 2, 4, 10, 7, 12, 6])
【问题讨论】:
-
我不明白
-
另外我的意思是保留原始代码(否则问题的标题没有意义),而是在下面添加修改后的代码
-
soooooooo 你能不能编辑问题,使其正确。请
-
哦,不好意思,现在我该怎么办??
-
好的,我会这样做的
标签: python python-3.x local-variables