Fusió d’strings

  1. Dissenya una funció, anomenada intercalat, que, donats dos strings s1 i s2, retorna un string tal que:

    • si s1 i s2 tenen la mateixa longitud, l’string retornat està format pels caràcters d’índex parell de s1 i els d’índex senar de s2.

    • si s1 i s2 tenen longituds diferents, l’string retornat és una còpia de l’string més curt de s1 i s2.

    Desa la funció al fitxer fusio_str1.py. La funció ha de passar el següent doctest:

    >>> intercalat('MORIA', 'PANEL')
    'MAREA'
    >>> intercalat('HOLA', 'MIS')
    'MIS'
    

    Nota

    Podeu descarregar el fitxer amb tests fusio_str1.txt

  2. Dissenya una funció, anomenada fusio, que, donats dos strings s1 i s2, retorna un string s3 resultant de la fusió de s1 i s2 aplicant la següent metodologia:

    • es recorren caràcter a caràcter els strings s1 i s2 fins a l’acabament de l’string més curt: si els caràcters de mateix index són iguals en s1 i s2, es copien una sola vegada a s3; si són diferents, es copien tots dos, primer el de s1 i després el de s2.

    • es copia a s3 el final de l’string més llarg de s1 i s2, és a dir el tros que no s’ha tractat en el recorregut anterior.

    Desa la funció al fitxer fusio_str2.py. La funció ha de passar el següent doctest:

    >>> fusio('BANANAS', 'BOND')
    'BAONADNAS'
    >>> fusio('EXTRAORDINARI', 'EXTRA')
    'EXTRAORDINARI'
    

    Nota

    Podeu descarregar el fitxer amb tests fusio_str2.txt

  3. Dissenya una funció, anomenada interseccio, que, donats dos strings s1 i s2, retorna un string format pels caràcters de mateix índex en s1 i s2 que són iguals.

    Desa la funció al fitxer fusio_str3.py. La funció ha de passar el següent doctest:

    >>> interseccio('BANANAS', 'BOND')
    'BN'
    >>> interseccio('EXTRAORDINARI', 'EXTRA')
    'EXTRA'
    

    Nota

    Podeu descarregar el fitxer amb tests fusio_str3.txt

Solució

Disposeu de solucions als fitxers fusio_str1.py, fusio_str2.py, fusio_str3.py