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

Ответы на вопрос

Отвечает Лисин Александр.
Ответ:
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])



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Конечно, вот ваш код на Python:
python# Получаем координаты коня от пользователя
row = int(input("Введите номер строки коня (от 1 до 8): "))
column = int(input("Введите номер столбца коня (от 1 до 8): "))
# Создаем шахматную доску в виде списка списков
board = [['.' for _ in range(8)] for _ in range(8)]
# Отмечаем клетку, где стоит конь
board[row - 1][column - 1] = 'K'
# Определяем возможные ходы коня в виде относительных координат
knight_moves = [(-2, 1), (-1, 2), (1, 2), (2, 1), (2, -1), (1, -2), (-1, -2), (-2, -1)]
# Проходим по всем возможным ходам и отмечаем клетки, которые конь бьет
for move in knight_moves:
new_row = row - 1 + move[0]
new_column = column - 1 + move[1]
if 0 <= new_row < 8 and 0 <= new_column < 8:
board[new_row][new_column] = '*'
# Выводим шахматную доску
for row in board:
print(' '.join(row))
Просто скопируйте этот код и выполните его в среде Python. Он запросит у вас координаты коня, затем выведет доску с отмеченными клетками, как описано в задании.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili