Ходы коня
На шахматной доске стоит конь. Отметьте положение коня на доске и все клетки, которые он бьет. Клетку, где стоит конь, отметьте английской буквой “K”. Клетки, которые он бьёт, отметьте символами “*”. Остальные клетки заполните точками.
Входные данные
Программа получает на вход два числа — координаты коня на шахматной доске. Координаты вводятся на одной строке через пробел. Первое число обозначает номер строки, а второе — номер столбца. Все числа принимают значения от 1 до 8.
Выходные данные
Выведите на экран изображение доски так, как это показано в примере. Обратите внимание, что символы в одной строке разделены пробелом.
Примеры
Ввод
Вывод
4 2
. . . . . . . .
* . * . . . . .
. . . * . . . .
. K . . . . . .
. . . * . . . .
* . * . . . . .
. . . . . . . .
. . . . . . . .
помогите пожалуста
на питон
Answers & Comments
Самый простой вариант
field = []
[field.append(["."] * 8) for i in range(8)]
while 1:
coord = list(map(int, input().split()))
if 0 < coord[0] <= 8 and 0 < coord[1] <= 8:
coord[0] -= 1
coord[1] -= 1
break
field[coord[0]][coord[1]] = "K"
moves = [[1, 2], [1, -2], [-1, 2], [-1, -2],
[2, 1], [2, -1], [-2, 1], [-2, -1]]
for i in moves:
try:
if coord[0] + i[0] >= 0 and coord[1] + i[1] >= 0:
field[coord[0] + i[0]][coord[1] + i[1]] = "*"
except:
pass
for i in field:
print(*i)