2.4 Funció Reutilitzable
Cridar funcions dins d’altres definicions de funció
El problema: Calcular el semi-perímetre d’un triangle.
L’enfocament: La funció semiperimeter crida a la funció perimeter.
def perimeter(side1, side2, side3):
'''(number, number, number) -> number
Return the perimeter of a triangle with sides of length
side1, side2 and side3.
>>> perimeter(3, 4, 5)
12
>>> perimeter(10.5, 6, 9.3)
25.8
'''
return side1 + side2 + side3
def semiperimeter(side1, side2, side3):
'''(number, number, number) -> float
Return the perimeter of a triangle with sides of
length side1, side2 and side3.
>>> semiperimeter(3, 4, 5)
6.0
>>> semiperimeter(10.5, 6, 9.3)
12.9
'''
return perimeter(side1, side2, side3) / 2
Cridar funcions dins d’altres crides a funcions
El problema: Un triangle té una base de 3.8 de longitud i una alçada de 7.0 de longitud. Un segon triangle té una base de 3.5 de longitud i un alçada de 6.8 de longitud. Calcula quin dels dos triangles té l’àrea més gran.
L’enfocament: Passar crides a la funció area com argument de la built-in function max.
max(area(3.8, 7.0), area(3.5, 6.8))