* Задание №1. Рассмотрите шахматную доску с соответствующими клетками. Определите, одинакового ли цвета заданные координа- ты двух клеток. Если цвета клеток одинако вые, то на экран выведите слово «Да», ина- че «Нет». Подготовьте 5 различных тестов для определения правильности вычисления, опираясь на этапы тестирования.
Например: 2 1 3 2
Результат: Да
НУЖНО НАПИСАТЬ ПРОГРАММУ СРОЧНО, ДАЮ 100 БАЛЛОВ!!!!
Answers & Comments
Verified answer
def same_color(coord1, coord2):
# Преобразуем координаты в числа
x1, y1, x2, y2 = map(int, [coord1[0], coord1[1], coord2[0], coord2[1]])
# Определяем цвет первого поля
color1 = (x1 + y1) % 2
# Определяем цвет второго поля
color2 = (x2 + y2) % 2
# Сравниваем цвета полей и возвращаем результат
if color1 == color2:
return "Да"
else:
return "Нет"
# Запрашиваем координаты у пользователя
coord1 = input("Введите координаты первого поля (например, a1): ")
coord2 = input("Введите координаты второго поля (например, b2): ")
# Преобразуем координаты в кортежи
coord1 = (ord(coord1[0]) - ord('a') + 1, int(coord1[1]))
coord2 = (ord(coord2[0]) - ord('a') + 1, int(coord2[1]))
# Вызываем функцию и выводим результат
print(same_color(coord1, coord2))
Тесты:
Тест с двумя полями одинакового цвета. Входные данные: (1, 1), (3, 1). Ожидаемый результат: "Да".
Тест с двумя полями разного цвета. Входные данные: (1, 1), (2, 1). Ожидаемый результат: "Нет".
Тест с двумя полями, лежащими на одной диагонали. Входные данные: (1, 1), (2, 2). Ожидаемый результат: "Нет".
Тест с двумя полями, лежащими на разных диагоналях. Входные данные: (1, 1), (3, 3). Ожидаемый результат: "Да".
Тест на обработку некорректных входных данных. Входные данные: ("a", "b"), ("c", "d"). Ожидаемый результат: ошибка ValueError.