Parèntesis ========== #. Dissenyeu la funció ``ben_parentitzada_1`` que a partir d'un string que representa una expressió matemàtica, retorna True si l'expressió està ben parentitzada i False en cas contrari. Una expressió està ben parentitzada si es compleixen les propietats següents: 1. analitzada d'esquerra a dreta mai hi ha més parèntesis tancats que oberts. 2. al final hi ha el mateix nombre de parèntesis oberts que tancats. Desa la funció al fitxer ``parentesis.py``. La funció ha de passar el següent doctest: .. literalinclude:: parentesis_1.txt :language: python3 :lines: 2- .. note:: Podeu descarregar el fitxer amb tests :download:`parentesis_1.txt ` #. Dissenyeu la funció ``ben_parentitzada_2`` (variant de l'anterior) de forma que retorni l'string ``'correcte'`` si l'expressió està ben parentitzada. Si no ho està, ha de retornar l'string ``'parèntesi tancat incorrecte'`` i la posició en el cas que no es compleixi la propietat 1. Si no compleix la propietat 2, la funció ha de retornar l'string ``'més parèntesis oberts que tancats'``. Desa la funció al fitxer ``parentesis.py``. La funció ha de passar el següent doctest: .. literalinclude:: parentesis_2.txt :language: python3 :lines: 2- .. note:: Podeu descarregar el fitxer amb tests :download:`parentesis_2.txt ` .. rubric:: Solució Disposeu de solucions al fitxer :download:`parentesis.py `