Correus electrònics =================== #. Dissenya una funció anomenada ``adreça`` que donat dos strings, un nom i un cognom, retorni un string amb una adreça de correu electrònic amb la forma ``nom.cognom@estudiant.upc.edu`` Desa la funció al fitxer ``correus.py``. La funció ha de passar el següent doctest: .. literalinclude:: correus1.txt :language: python3 :lines: 3-8 .. note:: Podeu descarregar el fitxer amb tests :download:`correus1.txt ` #. Dissenya una funció anomenada ``adreça2`` com la de l'apartat anterior però de manera que només inclogui els primers 10 caràcters del nom i els primer 15 caràcters del cognom en cas de que superin aquestes longituds. Desa la funció al fitxer ``correus.py``. La funció ha de passar el següent doctest: .. literalinclude:: correus2.txt :language: python3 :lines: 3-10 .. note:: Podeu descarregar el fitxer amb tests :download:`correus2.txt ` #. Dissenya una funció anomenada ``adreça_valida`` que donat un string que representa una adreça de correu electrònic indiqui si és vàlida. Es consideren adreces vàlides les que contenen el símbol arroba (``'@'``) i, com a mínim, dos caràcters a l'esquerra de l'arroba. Suposa que com a màxim hi haurà una arroba. Desa la funció al fitxer ``correus.py``. La funció ha de passar el següent doctest: .. literalinclude:: correus3.txt :language: python3 :lines: 3-12 .. note:: Podeu descarregar el fitxer amb tests :download:`correus3.txt ` #. Dissenya una funció anomenada ``gen_cont`` que donats tres strings, nom, cognom i dni, retorna un altre string que representa una contrasenya formada pels 3 primers caràcters del nom, els 3 primers caràcters del cognom i l'últim del DNI. Desa la funció al fitxer ``correus.py``. La funció ha de passar el següent doctest: .. literalinclude:: correus4.txt :language: python3 :lines: 3-6 .. note:: Podeu descarregar el fitxer amb tests :download:`correus4.txt ` .. rubric:: Solució Disposeu de solucions al fitxers :download:`correus.py `