Язык программирования - Python
На шахматной доске стоит конь.
Отметьте положение коня на доске и все клетки, которые он бьет. Клетку, где стоит конь, отметьте английской буквой “K”. Клетки, которые он бьёт, отметьте символами “*”. Остальные клетки заполните точками.
Входные данные
Программа получает на вход два числа — координаты коня на шахматной доске. Каждая координата вводится на отдельной строке. Первое число обозначает номер строки, а второе — номер столбца. Все числа принимают значения от 1 до 8.
Выходные данные
Выведите на экран изображение доски так, как это показано в примере.
Примеры
Ввод
4
2
Вывод
. . . . . . . .
* . * . . . . .
. . . * . . . .
. K . . . . . .
. . . * . . . .
* . * . . . . .
. . . . . . . .
. . . . . . . .

Anastasia987654321 Anastasia987654321    2   28.06.2020 15:29    189

Ответы
yakurnovanasta yakurnovanasta  15.10.2020 15:01

1. Вариант.

ky, kx = int(input()) - 1, int(input()) - 1

for i in range(8):

~~s = ''

~~for j in range(8):

if i == ky and j == kx: s += 'K'

elif abs((i - ky) * (j - kx)) == 2: s += '*'

else: s += '.'

~~print(s)

2. Вариант.

Решение с двумерного массива .

ky, kx = int(input()) - 1, int(input()) - 1

s = [['.' for _ in range(8)] for _ in range(8)]

s[ky][kx] = 'K'

for i in range(8):

~~for j in range(8):

if abs((i - ky) * (j - kx)) == 2: s[i][j] = '*'

for i in range(8): print(*s[i])

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика