Programación Desde Cero
Práctica interactiva Programación Desde Cero

Ejercicio

Categoría: Conjuntos y Diccionarios

Título: Patron de palabras

Descripción de la función

Dado un patron y un string compuesto por palabras, indica si el string sigue el patrón, de manera que haya una biyección entre cada letra del patrón y cada palabra del string. Se considera que el string sigue el patrón si cada letra del mismo puede reemplazarse con una palabra del string y una misma letra del patrón no reemplaza a dos palabras diferentes. Cada palabra del string debe tener una letra correspondiente en el patrón y cada letra del patrón debe corresponder a una palabra.

Ejemplos

Entrada: patron_de_palabras(patron="xyyx", palabras="casa mar mar casa")
Salida: True (Pues puede asociarse 'x'='casa'; 'y'='mar').
Entrada: patron_de_palabras(patron="xyyx", palabras="casa mar mar cerro")
Salida: False (Pues 'x' no puede asociarse al mismo tiempo con 'casa' y con 'cerro').

Parámetros

str
patron

Patrón a verificar. Solo contiene letras minúsculas.

str
palabras

String con palabras. Las palabras estarán separadas por un único espacio y no habrá espacios al inicio ni al final del string. palabras puede contener solo letras minúsculas y el carácter ' '.

Valor retornado

bool

True si las palabras del string siguen el patrón dado. False en caso contrario o si alguno de los strings es vacío.

Código



Resultado: