Вопрос задан 27.06.2023 в 04:42. Предмет Информатика. Спрашивает Макаренко Андрей.

Задача на Python: 1. Требуется определить, бьет ли слон, стоящий на клетке с указанными

координатами (номер строки и номер столбца), фигуру, стоящую на другой клетке. Шахматная доска 8х8 1.1 Создать возможность для слона идти не только по диагонали вправо, но и влево. (желательно решить через циклы)
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Андрейчук Катя.

slon = []

figure = []

slon.append(int(input('Введите номер строки ( слон ): ')))

slon.append(int(input('Введите номер столбца ( слон ): ')))

figure.append(int(input('Введите номер строки ( фигура ): ')))

figure.append(int(input('Введите номер столбца ( фигура ): ')))

if slon[0] < figure[0]:

   if slon[1] < figure[1]:

       while True:

           if slon[0] < 8:

               slon[0] += 1

           if slon[1] < 8:

               slon[1] += 1

           if slon[0] == figure[0] and slon[1] == figure[1]:

               print('Слон бьёт фигуру')

               break

           if slon[0] == 8 or slon[1] == 8:

               print('Слон НЕ бьёт фигуру')

               break

   elif slon[1] > figure[1]:

       while True:

           if slon[0] < 8:

               slon[0] += 1

           if slon[1] > 0:

               slon[1] -= 1

           if slon[0] == figure[0] and slon[1] == figure[1]:

               print('Слон бьёт фигуру')

               break

           if slon[0] == 8 or slon[1] == 1:

               print('Слон НЕ бьёт фигуру')

               break

   else:

       print('Слон НЕ бьёт фигуру')

elif slon[0] > figure[0]:

   if slon[1] > figure[1]:

       while True:

           if slon[0] > 0:

               slon[0] -= 1

           if slon[1] > 0:

               slon[1] -= 1

           if slon[0] == figure[0] and slon[1] == figure[1]:

               print('Слон бьёт фигуру')

               break

           if slon[0] == 1 or slon[1] == 1:

               print('Слон НЕ бьёт фигуру')

               break

   elif slon[1] < figure[1]:

      while True:

           if slon[0] > 0:

               slon[0] -= 1

           if slon[1] < 8:

               slon[1] += 1

           if slon[0] == figure[0] and slon[1] == figure[1]:

               print('Слон бьёт фигуру')

               break

           if slon[0] == 1 or slon[1] == 8:

               print('Слон НЕ бьёт фигуру')

               break

   else:

       print('Слон НЕ бьёт фигуру')

else:

   print('Слон НЕ бьёт фигуру')

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи на Python, вы можете использовать следующий код. Этот код определит, бьет ли слон фигуру, стоящую на указанной клетке. Мы учитываем движение слона как по диагонали вправо, так и влево.

python
def is_bishop_attacking(x1, y1, x2, y2): # Проверяем, что координаты находятся на доске 8x8 if x1 < 1 or x1 > 8 or y1 < 1 or y1 > 8 or x2 < 1 or x2 > 8 or y2 < 1 or y2 > 8: return False # Проверяем, что слон движется по диагонали if abs(x1 - x2) != abs(y1 - y2): return False # Проверяем, что слон движется по диагонали вправо или влево if (x1 - x2) * (y1 - y2) > 0: return True return False # Пример использования: x1 = 3 # Координаты слона y1 = 3 x2 = 5 # Координаты фигуры, которую нужно проверить y2 = 5 if is_bishop_attacking(x1, y1, x2, y2): print("Слон бьет фигуру!") else: print("Слон не бьет фигуру.")

Вы можете изменить значения x1, y1, x2, и y2 для проверки разных комбинаций. Функция is_bishop_attacking возвращает True, если слон бьет фигуру, и False в противном случае.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос