Why does it say "name 'max_range' is not defined" when I have already assigned it. this is an attempt at a question on https://www.algoexpert.io/questions/Largest%20Range example array:
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)
The complete error:
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
stack overflow says that my question is mostly code so I am just writing this line so that it lets me post the question
example reproducible code :
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])