Python

Помогите изобразить атаку слона на шахматной доске Python

Нужно сделать шахматну доску в виде точек, поставить по координатам слона и показать его атаки по диагонали. Получиться должно так как на фотоЯ смог сделать доску из точек и на доску ставить слона, но не понимаю как изобразить его диагонали.

Вот какой код у меня получился без диагоналей:

table = [["." for i in range(8)] for j in range(8)]

x = input(("Введите x: "))
y = input(("Введите y: "))
for ab in table:
table[int(x)][int(y)] = "I"
print(*ab)
 y, x = 8 - int(input()), int(input()) - 1
for i in range(8):
print(*['.#I'[(abs(x - j) == abs(y - i)) + (abs(x - j) + abs(y - i) == 0)] for j in range(8)])
В шахматах сначала вертикальная координата, а потом горизонтальная. Причём вертикальная отсчитывается снизу вверх.
Слон может попасть в клетку (i, j), если |i - y| = |j - x|.
Сам слон находится в клетке, отвечающей условию |i - y| + |j - x| = 0
AI
Aslan Ismailov
79 028
Лучший ответ
Слон ходит по диагонали. Перемещаясь на n единиц по x (влево или вправо), он также перемещается на n единиц по y (вверх или вниз).
Поэтому есть смысл отметить решетками те клетки (i, j), для которых у слона в клетке (x, y) справедливо равенство:
|x - i| = |y - j| ≠ 0
Андрей Филин
Андрей Филин
58 632
 # ШАГ 1. инициализация переменных 

# размер шахматной доски
N = 8

# шахматная доска
table = [["." for x in range(N)] for y in range(N)]



# ШАГ 2. ввод пользовательских данных

x0 = int( input(f"Введите координату x слона [1..{N}]: ") ) - 1
y0 = int( input(f"Введите координату y слона [1..{N}]: ") ) - 1



# ШАГ 3. расчет

table[x0][y0] = "I"
for x in range(N) :
for y in range(N) :
if x != x0 and abs(x - x0) == abs(y - y0) :
table[x][y] = "#"



# ШАГ 4. вывод результата

for y in range(N) :
for x in range(N) :
print(table[x][y], end=" ")
print()
ЮН
Юрий Ноздрин
88 814
 x, y = ord((xy := input())[0].lower()) - 97, 8 - int(xy[1]) 
print(*[' '.join(['I' if x == i and y == j else '#' if abs(x - i) == abs(y - j) else '.' for i in range(8)]) for j in range(8)], sep='\n')
Kainar Daniyarov
Kainar Daniyarov
18 091
В этом примере я использовал некоторые свойства языка Python, которые я узнал, изучая игру в шахматы. Играя в шахматы, мы можем использовать язык Python для вычисления различных ходов, таких как: "A7 - A8". В этом примере мы будем использовать этот трюк для атаки слона против короля противника."
Юрий Бичков
Юрий Бичков
11 049