Я просто хочу спросить вас об упражнении в школе, основанном на построении лабиринта на питоне. Начнем с известной (x, y) точки и n * n графа. В каждой рекурсии мы должны сделать neighbouring_list для каждой пары (x, y), которая будет содержать ближайшие элементы точки. До сих пор я написал этот код, который показывает правильные результаты, но я не могу сохранять и управлять исключительными новыми x и y, которые выбраны из соседнего списка. Они выполняют так, как (8,8), и я не могу написать x = 8 и y = 8. У вас есть идея? Заранее спасибо!как манипулировать списком в python
if(x and y == 0):
neighbouring_list = [((x + 1), y), (x, (y + 1))]
elif (x == (n - 1) and y == 0):
neighbouring_list = [((x - 1), y), (x, (y + 1))]
elif (y == 0):
neighbouring_list = [((x + 1), y), ((x - 1), y), (x, (y + 1))]
elif (y == (n - 1) and x == 0):
neighbouring_list = [(x, (y - 1)), ((x + 1), y)]
elif (x == 0):
neighbouring_list = [(x, (y + 1)), (x, (y - 1)), ((x + 1), y)]
elif (x == (n - 1) and y == (n - 1)):
neighbouring_list = [(x, (y - 1)), ((x - 1), y)]
elif (x == (n - 1)):
neighbouring_list = [((x - 1), y), (x, (y + 1)), (x, (y - 1))]
elif (y == (n - 1)):
neighbouring_list = [(x, (y - 1)), ((x - 1), y), ((x + 1), y)]
else:
neighbouring_list = [((x - 1), y), ((x + 1), y), (x, (y + 1)), (x, (y - 1))]
'if (x и y == 0):' должно быть 'if (x == 0 и y == 0):' Также не совсем понятно, что вы просите. Что именно не работает? Помимо этой ошибки, и thats ее немного дольше, чем необходимо, кажется, все в порядке. –
Я думаю, что два способа, упомянутые выше, одинаковы. Я действительно спрашиваю, например, если соседний список [(6,6), (7,6), (6,5)] и случайным образом следующая посещенная точка - это (6,6), чтобы сохранить первые 6 в переменной x, а второй - в y. x = 6 и y = 6 – nikiforosb
Нет, они не совпадают. Фактически 'if (x и y == 0):' равнозначно 'if (x! = 0 и y == 0):' Вы хотите, чтобы вы распаковывали запись, например 'x, y = соседний_лист [0] '? Кроме того, я думаю, что '(6,6), (7,6), (6,5)' не может быть ни одним из списка соседей. –