Compute Age =========== Let's consider a :class:`str` ``s`` with a text with 2 parts ended by a dot (the character '.'). For instance ``'Today is 1/10/2024. My birthday is the 15/7/1964.'``. Each part includes a *date* right before the dot. The date of the 1st part is today's date and the date in the 2nd part is person's birthday. As you can see in the example, *dates* are expressed in the format ``day/month/year`` where *day* has one or two digits, *month* has one or two digits and *year* has 4 digits. We wish to get a text indicating the age of that person. The format required is ``'You are X years old.'`` where X is the current age of our person, except if today is that person's birthday in which case the format must be ``'Happy Xth birthday !'`` where X is that person's current anniversary. You are required to deliver the two functions (they have the same grade weight) in the module :mod:`age_module` (file :file:`age_module.py`). . Firstly, an auxiliar function specified as follows: .. py:function:: extract_date(s) such that **given** *s* a :class:`str` with a date in the format described above **returns** 3 :class:`int` corresponding to the day, month and year of that date in this order. For example: .. literalinclude:: extract_date.test :language: python3 :start-after: --ini :end-before: --fi Doctests are available in the :download:`extract_date.test` file. ------------------------------------------------------------------------------------------ Secondly, the main function (using the previous function is **advised**): .. py:function:: age_comp(s) such that **given** *s* a :class:`str` with the format described above. **returns** a :class:`str` generated as described above. For example: .. literalinclude:: age_comp.test :language: python3 :start-after: --ini :end-before: --fi Doctests are available in the :download:`age_comp.test` file.