KPI Succession ============== Let's consider the recursive definition of a mathematical succession parameterized by the real number constants :math:`a`, :math:`b`, and :math:`k`: :math:`x_{1} = a` :math:`x_{2} = b` :math:`x_{i+1} = \frac {k \pi} {1+\sqrt{ {x_i}² + {x_{i-1}}² } }` Implement the following two Python functions (following the order is recommended) in the module :mod:`kpi_module` (file :file:`kpi_module.py`). The first function is: .. py:function:: kpi_next_term(x1, x2, k) such that **given** ``x1``, ``x2``, ``k`` :class:`float` values, where ``x1``, ``x2``, are the values for two consecutive terms, and ``k`` is the parameter of our succession **returns** a :class:`float` with the next term of the succession according to the above definition For exemple: .. literalinclude:: kpi_next_term.test :language: python3 :start-after: --ini :end-before: --fi .. note:: Python standard modules such as :mod:`math` **may** be imported and used. Doctests are available at the :download:`kpi_next_term.test` file. The second function is: ``kpi_term5``:math:`(x_1, x_2, k)` such that **given** | takes :math:`x_1, x_2`, :class:`float` values being the first and second terms of the succession respectively | returns a :class:`float` with the 5th term of the above succession. The float is rounded to 2 decimals. For exemple: .. literalinclude:: kpi_term5.test :language: python3 :start-after: --ini :end-before: --fi .. note:: This function implementation **must** call the previous function as many times as needed. Doctests for validation are available at the :download:`kpi_term5.test` file.