Напишите программу на Python для отображения ходов коня на шахматной доске. Пометьте клетку, где стоит конь, а также

  • 34
Напишите программу на Python для отображения ходов коня на шахматной доске. Пометьте клетку, где стоит конь, а также все клетки, которые конь может бить. Используйте английскую букву "K" для обозначения клетки с конём и символ "*" для обозначения бьющихся клеток. Остальные клетки заполните символом ".". Входные данные: программа должна получать на вход две числа — координаты коня на шахматной доске. Каждая координата должна быть введена в отдельной строке. Первое число обозначает номер строки, а второе число — номер столбца. Значения для обоих чисел должны быть в диапазоне от 1 до 8. Выходные данные: выведите на экран изображение доски согласно примеру.
Rak
41
Конечно, я могу помочь вам с написанием программы на Python для отображения ходов коня на шахматной доске. Вот решение:

python
def knight_moves():
# Создаем шахматную доску 8x8, заполняем ее точками
chessboard = [["." for _ in range(8)] for _ in range(8)]

# Получаем входные данные от пользователя
row = int(input("Введите номер строки (от 1 до 8): "))
col = int(input("Введите номер столбца (от 1 до 8): "))

# Проверяем, что координаты находятся в допустимом диапазоне
if row < 1 or row > 8 or col < 1 or col > 8:
print("Неверные координаты!")
return

# Помечаем клетку с конем
chessboard[row - 1][col - 1] = "K"

# Определяем возможные ходы коня
moves = [(-1, -2), (-1, 2), (1, -2), (1, 2), (-2, -1), (-2, 1), (2, -1), (2, 1)]

# Проверяем каждый возможный ход и помечаем соответствующие клетки
for move in moves:
new_row = row + move[0]
new_col = col + move[1]

# Проверяем, что новые координаты находятся в пределах доски
if 1 <= new_row <= 8 and 1 <= new_col <= 8:
chessboard[new_row - 1][new_col - 1] = "*"

# Выводим шахматную доску на экран
for row in chessboard:
print(" ".join(row))

knight_moves()


Давайте разберемся, как работает программа. Сначала мы создаем шахматную доску, заполненную точками. Затем мы запрашиваем у пользователя координаты коня на доске. Если введены неверные координаты, программа выдаст сообщение об ошибке.

Затем мы помечаем клетку, на которой стоит конь, символом "K". Затем мы определяем возможные ходы коня в виде списка координат. Затем мы проверяем каждый возможный ход и помечаем соответствующую клетку символом "*". Для этого мы добавляем/вычитаем значения из введенных координат коня.

В конце программы мы выводим шахматную доску на экран. Каждая строка доски отображается в виде списка символов, объединенных пробелами.

Обратите внимание, что программа проверяет, находятся ли новые координаты в пределах 8x8 шахматной доски, и если это так, то помечает клетку символом "*". Если введены некорректные координаты, программа выдает сообщение об ошибке.

Надеюсь, это позволит вам понять, как работает программа. Если у вас есть дополнительные вопросы, не стесняйтесь задавать.