СРОЧНО!! ДАЮ 40 БАЛЛОВ!!! Язык программирования - Python ** шахматной доске стоит...

+492 голосов
1.3m просмотров

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


Информатика (1.1k баллов) | 1.3m просмотров
Дан 1 ответ
+129 голосов

Ответ:

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])

+48

Благодарю, второе решение подошло)
У меня в профиле есть ещё одна задача на 40 баллов 'Выдача сдачи - 2', тоже по Python)