Contenido del curso
Día 1
Día 2
Día 3
Día 4
Día 5
Día 6
Día 7
Día 8
Día 9
Día 10
Día 11
Día 12
Día 13
Día 14
Día 15
Día 16
Día 17
Día 18
Día 19
Día 20
Día 21
Encuentra palabras con dos vocales
Contenido del curso
Encuentra palabras con dos vocales
Emilio Sala
EstudianteOscar Rodriguez
EstudianteFrancisco Jesús Eslava Fernández
EstudianteJordan Anderson Huayhua Morales
EstudianteMaga Hernandez
EstudianteDiego Alessandro Galvez Rodriguez
EstudianteFernando Jesús Núñez Valdez
EstudianteEduardo Peña Ramos
Estudiantejean.joven
EstudianteMaga Hernandez
EstudianteMaga Hernandez
EstudianteGabriel Andrés Montiel Hermosa
EstudianteJordan Anderson Huayhua Morales
EstudianteJhon Sebastián Monsalve Gomez
EstudianteJordan Anderson Huayhua Morales
EstudianteOrlando Sánchez
Estudianteiecgerman .
EstudianteOrlando Sánchez
EstudianteAndres Caro
EstudianteAngel Carballeira
EstudianteSamuel Medardo Hernández Ortiz
EstudianteEmmanuel Paiva
EstudianteOmar Cuarenta
EstudianteDiego Cruz
EstudianteFrancisco Pin
EstudianteRommel Pumisacho
EstudianteEduardo Monzón
EstudianteErick Infante
EstudianteDender Adrian Pernia Valero
EstudianteRosemberg Porras Mancilla
EstudianteEnrique Barrera
Estudiantedef find_words_with_two_vowels(words): vowels = "aeiouAEIOU" result = [] for word in words: num_vowels = 0 for char in word: if char in vowels: num_vowels += 1 if num_vowels == 2: result.append(word) return result
esta fue mi primera solución pero me di cuenta que no estaba utilizando list comprehension así que intenté comprimir el codigo resultando en la funcion super sayayin 2
def find_words_with_two_vowels(words): vowels = "aeiouAEIOU" result = [] for word in words: num_vowels = sum(1 for char in word if char in vowels) if num_vowels == 2: result.append(word) return result
para finalmente culminar en la version super sayayin 3
def find_words_with_two_vowels(words): vowels = "aeiouAEIOU" return [word for word in words if sum(1 for char in word if char in vowels) == 2]
aunque la primera me parece la más legible
Excelente!, me sirvió mucho tu aporte porque estaba algo perdido para hacerlo con list comprehension
def find_words_with_two_vowels(words): #usando list comprehension respuesta = [i for i in words if sum(1 for i in i if i in "aeiouAEIOU") == 2] #retorna respuesta return (respuesta)
un poco mas legible 😅
def find_words_with_two_vowels(words): #usando list comprehension respuesta = [palabra for palabra in words if sum(1 for letra in palabra if letra in "aeiouAEIOU") == 2] #retorna respuesta return (respuesta)
Está genial, creo que el más elegante que he visto en este reto. Solo que utilizar mucho el carácter " i " como variable en todo momento podría resultar algo confuso. Por ejemplo yo cambiaría las "_ i _" direccionadas a las vocales con una variable llamada "vow" :
def find_words_with_two_vowels(words): #usando list comprehension respuesta = [i for i in words if sum(1 for vow in i if vow in "aeiouAEIOU") == 2] #retorna respuesta return (respuesta)
excelente no sabia que se podia hacer doble list comprenhension.....
Una linea, list comprenhesion al limite.
Same bro, hahahaa!
def find_words_with_two_vowels(words): return [ word for word in words if (word.lower().count('a') + word.lower().count('e') + word.lower().count('i') + word.lower().count('o') + word.lower().count('u')) == 2 ]
LOL. Funciona.
def find_words_with_two_vowels(words): lista = [ i for i in words if sum(1 for letra in i.lower() if letra in "aeiou") ==2] return lista
me gusto este codigo porque no usastes map... excelente
lo unico es que te queria comentar que se pide que la funcion reciba una lista, y tu codigo no lo recibe... quedaria perfecto si ajustas ese detallito....
def find_words_with_two_vowels(words): words_with_two_vowels = [word for word in words if (word.lower().count("a") + word.lower().count("e") + word.lower().count("i") + word.lower().count("o") + word.lower().count("u")) == 2] return words_with_two_vowels find_words_with_two_vowels(["text", "test", "Apple", "example"])
Está bacán porque está diferente pero por otro lado ese list comprehension se vuelve un poco largo
aqui mi codigo: . . . . . . .
def find_words_with_two_vowels(words): # Tu código aquí 👈 return [word for word in words if word.lower().count('a') + word.count('e') + word.count('i') + word.count('o')+ word.count('u') == 2]
Está bacán pero el list comprehension ya se ve algo largo
def has_two_vowels(word): vowels = ["a", "e", "i" , "o", "u", "A", "E", "I", "O", "U"] list_letters = [] for letter in word: if letter in vowels: list_letters.append(letter) if len(list_letters) == 2: return True else: return False def find_words_with_two_vowels(words): new_list = [word for word in words if has_two_vowels(word)] return new_list
Orlando apoco si te salió con tu solución???
Hola, en tu codigo tienes una función recursiva, se esta llamando ella misma siempre. has_two_vowels
Mi solución utilizando expresiones regulares
def find_words_with_two_vowels(words): # Tu código aquí 👈 vowels = "aeiouAEIOU" new_words = [] for word in words: count_vowels = sum([1 for letter in word if letter in vowels]) if count_vowels == 2: new_words.append(word) return new_words
def find_words_with_two_vowels(words): vocales = 'aeiouAEIOU' return [word for word in words if sum(1 for char in word if char in vocales) == 2] ```def find\_words\_with\_two\_vowels(words): vocales = 'aeiouAEIOU' return \[word for word in words if sum(1 for char in word if char in vocales) == 2]
def find_words_with_two_vowels(words): # Tu código aquí 👈 return [(word) for word in words if (sum(1 for w in word if w in 'aeiouAEIOU')) == 2] pass ```def find\_words\_with\_two\_vowels(words): # Tu código aquí 👈 return \[(word) for word in words if (sum(1 for w in word if w in 'aeiouAEIOU')) == 2]pass
puedes escribir todo en 1 linea pero me parece una mala practica dado que se hace dificil de leer y entender.
Nuevamente, consulto:
Alguien será tan amable de explicarme ¿Por qué no paso el test del playground?
def find_words_with_two_vowels(words): result = [] vowels = "aeiouAEIOU" for word in words: cant = 0 for letter in word: if letter in vowels: cant += 1 if cant == 2: result.append(word) return result
Yo lo realice similar a los demas compañeros solo que en vez de hacer el sum, utilicé el len pero creo que por tema de memoria, sale mejor con el sum
vowels={vowel for vowel in "AEIOUaeiou"} def find_words_with_two_vowels(words): return [ word for word in words if len(list(letter for letter in word if letter in vowels)) == 2 ]
mi manera:
def find_words_with_two_vowels(words): out=[] lista=[palabra for palabra in words if (palabra.count("a")+palabra.count("e")+palabra.count("i")+palabra.count("o")+palabra.count("u")+palabra.count("A")+palabra.count("E")+palabra.count("I")+palabra.count("O")+palabra.count("U"))==2 ] return lista