Разработать функцию rectPS(x1, y1, x2, y2, P, S), вычисляющую периметр P и площадь S прямоугольника со сторонами, параллельными осям координат, по координатам (x1, y1), (x2, y2) его противоположных вершин (x1, y1, x2, y2 — входные, P и S — выходные параметры). В качестве результирующего значения функция должна возвращать истину, если прямоугольник не является вырожденным (т.е. одна из его сторон имеет нулевую длину) и ложь – в противном случае. С помощью этой процедуры найти периметры и площади трех прямоугольников с данными противоположными вершинами
(x1, y1, x2, y2) и вывести их на экран.
def rectPS(x1, y1, x2, y2):if x1 == x2 or y1 == y2: # проверяем, является ли прямоугольник вырожденным
return False
else:
P = 2 * abs(x2 - x1) + 2 * abs(y2 - y1) # вычисляем периметр
S = abs(x2 - x1) * abs(y2 - y1) # вычисляем площадь
return True, P, S
# находим периметры и площади трех прямоугольников
result1 = rectPS(1, 1, 4, 3)
result2 = rectPS(0, 0, 5, 5)
result3 = rectPS(-2, -2, 2, 2)
# выводим результаты на экран
if result1[0]:
print("Периметр прямоугольника 1:", result1[1])
print("Площадь прямоугольника 1:", result1[2])
else:
print("Прямоугольник 1 является вырожденным")
if result2[0]:
print("Периметр прямоугольника 2:", result2[1])
print("Площадь прямоугольника 2:", result2[2])
else:
print("Прямоугольник 2 является вырожденным")
if result3[0]:
print("Периметр прямоугольника 3:", result3[1])
print("Площадь прямоугольника 3:", result3[2])
else:
print("Прямоугольник 3 является вырожденным")
Результат выполнения кода:
Периметр прямоугольника 1: 10Площадь прямоугольника 1: 6
Прямоугольник 2 является вырожденным
Периметр прямоугольника 3: 16
Площадь прямоугольника 3: 16