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

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

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

Показать ответ
Ответ:
volkovaar2000
volkovaar2000
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-бота