Matrícules

Representem una matrícula com a un string que consta de quatre xifres un espai en blanc i tres lletres consonants majúscules. Desa les funcions següents al fitxer matricules.py.

  1. Dissenya la funció conte_caracter que donat un string que representa una matrícula i un caràcter, retorna la posició del caràcter dins del grup de les tres lletres de la matrícula, de manera que el resultat sigui 0 si és igual a la primera de les tres lletres, 1 si és igual a la segona i 2 si és igual a la tercera. En cas de que sigui diferent de totes tres lletres, la funció retornarà -1. La funció ha de passar el següent doctest:

    >>> conte_caracter('7732 CHW','A')
    -1
    >>> conte_caracter('7216 ABS','S')
    2
    >>> conte_caracter('8717 DBW','B')
    1
    

    Nota

    Pots descarregar el fitxer amb tests matricules1.txt

  2. Dissenya la funció nomes_digits que donat un string que representa una matrícula retorni True si els quatre primers caràcters de la matrícula són dígits i False en cas contrari. La funció ha de passar el següent doctest:

    >>> nomes_digits('7732 CHW')
    True
    >>> nomes_digits('7FG2 CHW')
    False
    >>> nomes_digits('7652 12W')
    True
    >>> nomes_digits('7652BCD')
    True
    

    Nota

    Pots descarregar el fitxer amb tests matricules2.txt

  3. Dissenya també la funció nomes_consonants que donada una matrícula, retorna True si els tres caràcters finals són lletres consonants majúscules i False en cas contrari. La funció ha de passar el següent doctest:

    >>> nomes_consonants('7216 XBS')
    True
    >>> nomes_consonants('7TG4 TNT')
    True
    >>> nomes_consonants('7216 ABU')
    False
    >>> nomes_consonants('7216 TnT')
    False
    >>> nomes_consonants('7216 GH6')
    False
    >>> nomes_consonants('7652BCD')
    True
    
    

    Nota

    Pots descarregar el fitxer amb tests matricules3.txt

  4. Dissenya la funció matricula_correcta que donada una matrícula, retorna True si és una matrícula tal com s’ha descrit, és a dir, els quatre primers caràcters són dígits, els tres últims són consonants majúsculles i entre ells hi ha un espai. Utilitza les funcions dels apartats anteriors. La funció ha de passar el següent doctest:

    >>> matricula_correcta('7732 CHW')
    True
    >>> matricula_correcta('7FG2 CHW')
    False
    >>> matricula_correcta('7216 TBS')
    True
    >>> matricula_correcta('7216 BB3')
    False
    >>> matricula_correcta('7276 OEH')
    False
    >>> matricula_correcta('7276 tnt')
    False
    >>> matricula_correcta('7276BCD')
    False
    

    Nota

    Pots descarregar el fitxer amb tests matricules4.txt

Solució

Disposeu de solucions al fitxer matricules.py