# Vamos a crear una función cuantasPalabras a la que le pasamos una cadena y un caracte # Y nos dice cuantas palabras en esa cadena contienen ese caracter # cuantasPalabras("En un lugar de la mancha","e")->2 # cuantasPalabras("En un lugar de la mancha","n")->3 # cuantasPalabras("En un lugar de la mancha","j")->0 # Como veis da lo mismo mayúsculas que minúsculas def cuantasPalabras(cadena, letra): """Nos cuenta cuantas palabras tienen esa letra""" cadena = cadena.lower() letra = letra.lower() cont = 0 # recorrer las palabras for palabra in cadena.split(): # saber si una palabra tiene esa letra if letra in palabra: cont += 1 return cont print(cuantasPalabras("En un lugar de la mancha", "e")) # 2 print(cuantasPalabras("En un lugar de la mancha", "n")) # 3 print(cuantasPalabras("En un lugar de la mancha", "j")) # 0 print(cuantasPalabras("En un lugar de la mancha", "a")) # 3 # Vamos a crear una función mezclar a la que le pasamos una cadena y nos crea otra con # la primera parte las letras pares y la segunda las impares, con unos ejemplos lo vemos mejor: # mezclar("abcdefg")->"acegbdf" mezclar("12345678")->"13572468" def mezclarFor(cadena): """Nos crea una cadena con las letras pares primero y después las impares""" par = "" impar = "" for i in range(len(cadena)): if i % 2 == 0: par += cadena[i] else: impar += cadena[i] return par + impar def mezclar(cadena): """Nos crea una cadena con las letras pares primero y después las impares""" return cadena[0::2] + cadena[1::2] print(mezclar("abcdefg")) # acegbdf print(mezclar("12345678")) # 13572468 # Vamos a crear una funcion que nos devuelva True si hay dos letras iguales repetidas # repetidas("hola que tal")->False # repetidas("viva sevilla")->True (hay dos l) # repetidas("mi carro me lo robaron")->True (hay dos r) def repetidas(cadena): for i in range(len(cadena) - 1): if cadena[i] == cadena[i + 1]: return True return False print(repetidas("hola que tal")) # ->False print(repetidas("viva sevilla")) # ->True (hay dos l) print(repetidas("mi carro me lo robaron")) # ->True (hay dos r) def dobleLetra(frase): fraseLower = frase.lower() # pongo el lower para que me pueda identificar todos los caracteres iguales indice = 1 # variable de soporte para comparar cada letra en el for vs. la siguiente letra de fraseLower (la cadena en la que busco dobles seguidos) for letra in fraseLower: if indice < len(frase) and letra == fraseLower[indice]: return True else: indice += 1 return False print(dobleLetra("Hola que tal")) # debería devolver un false print(dobleLetra("Mi carro me lo robaron")) # debería devolver True
def cuantasPalabras(cadena, caracter):
cadena = cadena.lower()
caracter = caracter.lower()
palabras = cadena.split()
contador = 0
for palabra in palabras:
if caracter in palabra:
contador += 1
return contador
print(cuantasPalabras(“En un lugar de la mancha”, “e”))
print(cuantasPalabras(“En un lugar de la mancha”, “n”))
print(cuantasPalabras(“En un lugar de la mancha”, “j”))
Los otros ejercicios no me salen.