Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community!
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.Start your free trial
Marie Lu179 Points
Why is my disemvowel not working?
I'm trying a very simple approach. I wonder why this won't work as planned..
vowels = ["a","e", "i", "o", "u", "A", "E", "I", "O", "U"] def disemvowel(word): list(word) if vowels in word: word.remove(vowels) else: pass return word
Mark Rinkel13,501 Points
if vowels in word:
is actually asking this:
if ["a","e", "i", "o", "u", "A", "E", "I", "O", "U"] in word:
You instead want to check each letter to see if it's in the word.
Ari Misha19,323 Points
Hiya Marie! You need to think it logically, so yeah try it this way:
"for every word in words," "if not word exists in vowels" "append word to an empty list" "and finally return the list"
I couldnt have come up with a better hint so yeah try it this way. (:
Chris FreemanTreehouse Moderator 68,390 Points
I've marked up your code with the errors
vowels = ["a","e", "i", "o", "u", "A", "E", "I", "O", "U"] def disemvowel(word): word = list(word) # list result needs to be assigned # need loop to iterate over a *copy* of word for letter in word.copy(): if letter in vowels: # reverse comparison word.remove(letter) #else: # empty else can be omitted # pass # need to join list back to string word = "".join(word) return word