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

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

DaniilF3001 DaniilF3001    2   05.06.2021 19:47    1

Ответы
Girl1girl Girl1girl  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 (белая)

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

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика