@overlord1337

Как сделать перемещение по таблице из чисел?

есть таблица чисел, в ручную задается стартовая позиция - число и направление : вправо , влево , вверх, вниз. Смещение происходит на 1 клетку
можно ли реализовать перемещение через 1 формулу, просто сам я додумался только до этого ( перемещение влево)
if pos in [0,5,10]:
	pos+=4
	print (pos)
else:
	print(pos+1)

Таблица чисел :
5fec96d2a7aa2151127221.png
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
@o5a
Насколько я понял набор чисел это матрица с n чисел в каждом ряду и максимальным количество чисел total.
Тогда перемещение вправо можно найти как добавление 1 с последующим модулем по n (чтобы зациклить в строке) в пределах строки
# находим строку и позицию в строке
row, row_pos = divmod(pos, n)
# вычисляем новую позицию в строке и снова собираем полный номер
new_pos = row*n + (row_pos + 1)%n


Перемещение вверх можно найти как вычитание кол-ва чисел в строке n с модулем по total
new_pos = (pos - n)%total
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы