Write function heron which calculates the area of a triangle with sides a, b, and c.

Heron's formula: sqrt (s \* (s - a) \* (s - b) \* (s - c)), where s = (a + b + c) / 2.
Output should have 2 digits precision.

Difficulty: introductory

Starter code:

def heron(a,b,c):
	

Solutions:
import math
def heron(a,b,c):
    s=(a+b+c)/2
    return round(math.sqrt(s*(s-a)*(s-b)*(s - c)),2)

def heron(a,b,c):
    return round((1/4)*(4*b*b*c*c-(b*b+c*c-a*a)**2)**(1/2),2)

heron=lambda*args:(lambda a,b,c,s:round((s*(s-a)*(s-b)*(s-c))**.5,2))(*args,sum(args)/2)

def heron(*sides):
    s=sum(sides)/2
    a,b,c = sides
    return  round((s * (s - a) * (s - b) * (s - c))**0.5, 2)

def heron(*l):
    s = sum(l) / 2
    return round((s * (s - l[0]) * (s - l[1]) * (s - l[2]))**.5,2)

import math
def heron(*liste):
    sum = 0
    for i in liste:
        sum += i
    s = sum / 2
    return round(math.sqrt(s*(s - liste[0])*(s - liste[1])*(s - liste[2])), 2)


import math
def heron(a,b,c):
    d=(a+b+c)/2
    return round(math.sqrt(d*(d-a)*(d-b)*(d-c)),2)

import math
def heron(a, b, c):
    p = (a + b + c) / 2
    return round(math.sqrt(p * (p-a) * (p-b) * (p-c)), 2)

def heron(a,b,c):
    s = sum([a,b,c]) / 2
    return round((s * (s - a) * (s - b) * (s - c)) ** 0.5, 2)

import math

def heron(a,b,c):

    s = (a+b+c)/2
    
    v = math.sqrt(s*(s-a)*(s-b)*(s-c))
    
    return round(v,2)