СРОЧНО!! ДАЮ 40 БАЛЛОВ!!!
Язык программирования - Python
На шахматной доске стоит конь.
Отметьте положение коня на доске и все клетки, которые он бьет. Клетку, где стоит конь, отметьте английской буквой “K”. Клетки, которые он бьёт, отметьте символами “*”. Остальные клетки заполните точками.
Входные данные
Программа получает на вход два числа — координаты коня на шахматной доске. Каждая координата вводится на отдельной строке. Первое число обозначает номер строки, а второе — номер столбца. Все числа принимают значения от 1 до 8.
Выходные данные
Выведите на экран изображение доски так, как это показано в примере.
Примеры
Ввод
4
2
Вывод
. . . . . . . .
* . * . . . . .
. . . * . . . .
. K . . . . . .
. . . * . . . .
* . * . . . . .
. . . . . . . .
. . . . . . . .
Answers & Comments
Ответ:
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])
У меня в профиле есть ещё одна задача на 40 баллов 'Выдача сдачи - 2', тоже по Python)