Python_Ejercicio

Escribir una función que reciba como parámetro una cadena de palabras separadas por espacios y devuelva, como resultado, cuántas palabras de más de cinco letras tiene la cadena dada.

def cadena(a):
lista=a.split() # convierte las plabras en una lista
lista_mayor_5=[]
for w in lista:
if len(w)>5 :
lista_mayor_5.append(w)
return(len(lista_mayor_5))

x=input(“str:”)
print(cadena(x))

import functools


def calcular_cuantas_palabras_existen_de_cierta_longitud(frase, limite=5):
    return functools.reduce(
        lambda cantidad, palabra: cantidad + 1 if len(palabra) >= limite else cantidad,
        frase.split(" "),
        0,
    )


print(calcular_cuantas_palabras_existen_de_cierta_longitud("En un lugar de la Mancha"))

# 2
def gt5(text: str, limit: int = 5) -> int:
    return sum(1 for s in text.split() if len(s) > limit)

def contar_palabras(cadena):

# Separamos la cadena en palabras
palabras = cadena.split(" ")

# Filtramos las palabras que tienen más de 5 letras
resultado = list(filter(lambda x: len(x) > 5, palabras))

# Devolvemos el número de elementos del resultado
return len(resultado)

Creamos la cadena de prueba

cadena = “Este es un ejemplo de una cadena con muchas palabras”

Mostramos por pantalla el número de palabras

print(contar_palabras(cadena))