Найти площадь прямоугольника, треугольника или круга. Решение задачи на Python

Описание к видео Найти площадь прямоугольника, треугольника или круга. Решение задачи на Python

Эта задача на закрепление темы условного оператора и множественного ветвления в Python. С точки зрения построения алгоритма задача простая. Сложности ей добавляет необходимость использовать знания из математики. В данном случае – геометрии.
Пользователь указывает, площадь какой фигуры он хочет вычислить, и в зависимости от выбора у него же запрашиваются исходные данные и вычисляется соответствующая площадь.
Исходными данными в случае прямоугольника являются длины двух сторон, для треугольника – надо запросить все три стороны. Здесь площадь вычисляется по формуле Герона, и предварительно надо будет вычислить полупериметр. Для вычисления площади круга необходим только его радиус.

Это пример уже готовой программы.
Пользователя спрашивают, площадь какой фигуры он хочет вычислить. Фигуры обозначаются числами.
Для прямоугольника нужно ввести единицу, для треугольника – двойку, для круга – тройку.
Введенное значение будет присвоено переменной figure.
Далее начинается сам оператор множественного ветвления. В данном случае он имеет четыре ветки, то есть ход выполнения программы пойдет по одному из четырех путей.
Сначала значение переменной figure сравнивается со значением "один". Оно в виде строки, а не числа, потому что функция input возвращает строку. Нам незачем преобразовывать в число, так как это значение все равно ни в каких вычислениях не участвует.
Если пользователь ввел единицу, то поток выполнения программы переходит в тело первой ветки условного оператора. Здесь запрашиваются стороны прямоугольника. Они преобразуются к вещественным числам. Выполняется вычисление. Результат выводится на экран.
После этого поток выполнения уходит за пределы всего условного оператора. В данном случае в конец программы, и программа завершается.
Если пользователь ввел не единицу, а что-то другое, то логическое выражение при первой ветке условного оператора возвращает ложь, и поток выполнения не заходит в тело этой ветки. Он идет проверять условие при второй ветке.
Если пользователь ввел двойку, запрашиваем у него все стороны треугольника, вычисляем полупериметр. Далее площадь, которую выводим на экран.
Функция sqrt импортируется из модуля math. Она вычисляет квадратный корень переданного в нее аргумента.
Если введенное пользователем значение не является ни единицей, ни двойкой, то проверяется третье логическое выражение. Если оно истинное, то выполняется его тело, вычисляющее площадь круга.
Во всех остальных случаях, то есть тогда, когда пользователь ввел что-угодно, но не числа 1, 2 или 3, сработает ветка else. При ней никогда не бывает условия.
При изучении условного оператора важно помнить, что при ветвлении на две ли ветви или на большее количество ветвей, всегда будет выполняться только одна ветвь. Та, которая встретится первой (то есть выше расположена), и условие при которой вернет истину.

Текстовое описание решения задачи и исходный код программы: https://younglinux.info/python/task/area

Больше задач: https://younglinux.info/python/task
Приложение для андроид: https://play.google.com/store/apps/de...
Купить PDF-версию (100 задач): https://younglinux.info/store/store.h...

Комментарии

Информация по комментариям в разработке