В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Zenya1111
Zenya1111
14.03.2020 22:16 •  Информатика

Напишите программу, которая на вход получает координаты двух клеток шахматной доски и выводит соощение о том, являются ли эти клетки одного цвета. Формат ввода:
c2
e4

ВНИМАТЕЛЬНО! Формат ввода это буква и число. А не число и число.

Показать ответ
Ответ:
sonasandimirova
sonasandimirova
05.07.2021 20:46

a=input().lower()

b=input().lower()

mas=["a","b","c","d","e","f","g","h"]

a=[mas.index(a[0]) + 1] + [int(a[1])]

b=[mas.index(b[0]) + 1] + [int(b[1])]

a_bool=(a[0] + a[1]%2)%2

b_bool=(b[0] + b[1]%2)%2

if a_bool == b_bool:

   print("Клетки одного цвета")

Объяснение:

вводятся два значения

список просто является словариком для букв, чтоб можно было выдать им численное значение

в первую ячейку списка вносится численное значение буквы(горизонтали), а во вторую просто численное значение по вертикали

далее идет проверка на цвет:

глядя на шахматную доску, можно увидеть некую закономерность

в строке 1(нечетная) к каждой нечетной букве соответствует черная ячейка, а в строке 2(четная) наоборот. Это говорит о том, что по вертикали идет сдвиг то вправо, то влево. Суть проверки заключается в том, что мы добавляем численное значение по горизонтали и добавляем к нему остаток от деления на два значения по вертикали, сумму так же проверяем на четность, если сумма нечетная - 1(черная), иначе - 0 (белая)

Потом просто идет сравнение

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота