2. Edats

  1. Dissenya la funció extreu_data que donat un string amb format dia/mes/any a on el dia i el mes poden tenir un o dos dígits i l’any en té quatre, retorna dia, mes i any com a enters.

    Desa la funció al fitxer edats.py.

    Els següents doctests mostren exemples del que ha de fer la funció:

    >>> extreu_data('1/10/2025')
    (1, 10, 2025)
    >>> extreu_data('15/10/2025')
    (15, 10, 2025)
    

    Disposes de més tests al fitxer test-extreu-data.txt

  2. Considerem un text d’aniversari com a un string amb dues frases acabades en punt i que inclouen una data amb el format descrit a l’apartat anterior tot just abans del punt. La data de la primera frase representa el dia actual i la de la segona una data de naixement (la resta de l’string pot incloure qualsevol text). Per exemple:

    'Avui és 1/10/2025. He nascut el 3/5/2000.'
    

    Dissenya la funció edat, que donat un text d’aniversari (string), retorna un altre string amb el format 'Tens X anys' a on X és l’edat calculada a partir de les dates de l’string donat. Desa la funció al fitxer edats.py. Aquesta funció ha de cridar la funció extreu_data.

    Desa la funció al fitxer edats.py.

    Els següents doctests mostren exemples del que ha de fer la funció:

    >>> edat('Avui és 1/10/2025. He nascut el 3/5/2000.')
    'Tens 25 anys'
    >>> edat('Avui és 1/10/2025. He nascut el 3/11/2000.')
    'Tens 24 anys'
    >>> edat('La data avui és 05/10/2025. la meva data de naixement és el 25/2/1987.')
    

    Disposes de més tests al fitxer test-edat.txt

  3. Dissenya la funció llista_edats que donada una llista de textos d’aniversari (strings) i una paraula (string), retorna una nova llista d’strings amb l’edat amb el mateix format de l’apartat anterior. Aquesta llista només inclourà els resultats dels textos d’aniversari que continguin la paraula donada. Aquesta funció ha de cridar la funció edat.

    Desa la funció al fitxer edats.py.

    Els següents doctests mostren exemples del que ha de fer la funció:

    >>> led = ['Avui és 1/10/2025. He nascut el 3/5/2000.', 'La data avui és 05/10/2025. la meva data de naixement és el 25/2/1987.', 'Avui és 1/10/2025. He nascut el 3/11/2000.', 'La data avui és 05/2/2025. la meva data de naixement és el 25/2/1987.']
    >>> llista_edats(led, 'nascut')
    ['Tens 25 anys', 'Tens 24 anys']
    >>> llista_edats(led, 'naixement')
    ['Tens 38 anys', 'Tens 37 anys']
    >>> llista_edats(led, 'nacido')
    []
    

    Disposes de més tests al fitxer test-llista-edats.txt

    Disposes de solucions al fitxer edats.py