Функция, вычисляющая площади разных геометрических фигур

Допустим, требуется написать функцию, которая может вычислять площадь круга, прямоугольника и треугольника. Площадь какой фигуры необходимо вычислить, должно определяться передаваемыми аргументами. Так для вычисления площади круга достаточно знать лишь его радиус. Чтобы вычислить площадь прямоугольника, требуется уже два числа - его длина и ширина. Для определения площади треугольника, например, по формуле Герона необходимы длины всех трех сторон, т. е. в функцию надо передать три числа.

Чтобы у пользователя не спрашивать, площадь какой фигуры он хочет узнать, можно запрашивать ввод данных одной строкой и именно ее передавать в функцию. В функции строку надо преобразовать в список чисел и в зависимости от их количества произвести вычисления по тому или иному пути.

import math
 
def figure(a):
    a = a.split()
    for i in range(len(a)):
        a[i] = float(a[i])
    if len(a) == 1:
        square = math.pi * a[0]**2
        print("Площадь круга ", square)
    elif len(a) == 2:
        square = a[0]*a[1]
        print("Площадь прямоугольника ", square)
    elif len(a) == 3:
        p = (a[0]+a[1]+a[2])/2
        square = math.sqrt(p * (p-a[0]) * (p-a[1]) * (p-a[2]))
        print("Площадь треугольника ", square)
 
param = input("Введите параметры через пробел: ")
figure(param)

Примеры вызова функции:

pl@pl-desktop ~ $ python3 square.py 
Введите параметры через пробел: 2
Площадь круга  12.566370614359172
pl@pl-desktop ~ $ python3 square.py 
Введите параметры через пробел: 4 5
Площадь прямоугольника  20.0
pl@pl-desktop ~ $ python3 square.py 
Введите параметры через пробел: 4 5 6
Площадь треугольника  9.921567416492215

Создано