Я пытался вызвать значение, выходящее за пределы функции, но возникла ошибка. Это часть коды:Внешняя функция ссылочной переменной
for element in initial_valid_pos:
i = 0
g = 1
z = -1
def loop():
for element2 in valid_pos[1 + i]:
if int(element) == (int(element2) + z):
print(element)
if int(element) == (int(element2) + g):
print(element)
else:
pass
i = i + 1
z = z - 1
g = g + 1
loop()
Как вы можете видеть, первое значение дает 0 до I и так далее, тогда я начинаю цикл внутри, и в то время как внутри цикла я хотел бы, чтобы увеличить значение от i
, z
, g
.
UnboundLocalError: local variable 'i' referenced before assignment
Вы определение фикции внутри 'for' цикла? Звучит безумно! :) Выньте это из цикла и передайте эти переменные в качестве параметров. – SukkoPera
Мне нужно написать программу, которая найдет путь выхода из случайного лабиринта. Предоставляя действительную начальную позицию, это был единственный способ получить правильный путь выхода. Но возможно я делаю это неправильно – BioShock
Пожалуйста, напишите рабочий код. Не существует 'valid_pos' и для' loop() 'для выполнения, вызов' loop() 'должен быть деиндексирован. – mhawke