ComenzarEmpieza gratis

Refactorización para mejorar la legibilidad

Refactorizar funciones más largas en unidades más pequeñas puede ayudar tanto a la legibilidad como a la modularidad. En este ejercicio, refactorizarás una función en unidades más pequeñas. La función que refactorizarás se muestra a continuación. Ten en cuenta que, en el ejercicio, no utilizarás cadenas de documentación por motivos de espacio; en una aplicación real, ¡deberías incluir documentación!

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 ejercicio forma parte del curso

Principios de ingeniería de software en Python

Ver curso

Instrucciones del ejercicio

  • Mueve la lógica para calcular el valor de la función « perimeter » a la función « polygon_perimeter ».
  • Completa la definición de la función ` polygon_apothem , moviendo la lógica que se ve en el contexto. El módulomath` ya se ha importado.
  • Utiliza las nuevas funciones de la unidad para completar la definición de polygon_area.
  • Utiliza la fórmula más unificada polygon_area para calcular el área de un hexágono regular con lados de 10 unidades.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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 y ejecutar código