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 patrón y una cadena de texto compuesta por palabras, indica si la cadena sigue el patrón, de manera que haya una biyección entre cada letra del patrón y cada palabra de la cadena. Se considera que la cadena "sigue" el patrón si cada letra del mismo puede reemplazarse con una palabra de la cadena y una misma letra del patrón no reemplaza a dos palabras diferentes. Cada palabra de la cadena 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

cadena con palabras. Las palabras estarán separadas por un único espacio y no habrá espacios al inicio ni al final de la cadena. palabras contendrá solo letras minúsculas y el carácter ' '.

Valor retornado

bool

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

Código



Resultado: