Разработать функцию rectPS(x1, y1, x2, y2, P, S), вычисляющую периметр P и площадь S прямоугольника со сторонами, параллельными осям координат, по координатам (x1, y1), (x2, y2) его противоположных вершин (x1, y1, x2, y2 — входные, P и S — выходные параметры). В качестве результирующего значения функция должна возвращать истину, если прямоугольник не является вырожденным (т.е. одна из его сторон имеет нулевую длину) и ложь – в противном случае. С помощью этой процедуры найти периметры и площади трех прямоугольников с данными противоположными вершинами

2 Фев 2020 в 19:41
269 +1
0
Ответы
1

(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
18 Апр 2024 в 18:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир