Reestruturação para facilitar a leitura
Reestruturar funções mais longas em unidades menores pode ajudar na legibilidade e na modularidade. Neste exercício, você vai refatorar uma função em unidades menores. A função que você vai refatorar está mostrada abaixo. Observe que, no exercício, você não vai usar docstrings por uma questão de espaço; em uma aplicação real, você deve incluir documentação!
def polygon_area(n_sides, side_len):
"""Find the area of a regular polygon
:param n_sides: number of sides
:param side_len: length of polygon sides
:return: area of polygon
>>> round(polygon_area(4, 5))
25
"""
perimeter = n_sides * side_len
apothem_denominator = 2 * math.tan(math.pi / n_sides)
apothem = side_len / apothem_denominator
return perimeter * apothem / 2
Este exercício faz parte do curso
Princípios de Engenharia de Software em Python
Instruções do exercício
- Mova a lógica para calcular o valor de referência (
perimeter) para a função de referência de valor (polygon_perimeter). - Complete a definição da função `
polygon_apothem, movendo a lógica vista no contexto. O módulomath` já foi importado para você. - Use as novas funções da unidade para terminar a definição de
polygon_area. - Use a fórmula mais padronizada
polygon_areapara calcular a área de um hexágono regular com lados de tamanho 10.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
def polygon_perimeter(n_sides, side_len):
return ____
def polygon_apothem(n_sides, side_len):
denominator = ____
return side_len / denominator
def polygon_area(n_sides, side_len):
perimeter = ____
apothem = ____
return perimeter * apothem / 2
# Print the area of a hexagon with legs of size 10
print(____(n_sides=6, side_len=10))