ComeçarComece de graça

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

Ver curso

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_area para 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))
Editar e executar o código