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! While you're at it, check out some resources Treehouse students have shared here.
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 trialCaleb Newell
12,562 Pointsdisemvowel
So i have been working on this for a while, and i got this far, but I do not know what to put after the for in loop. Any help?
def disemvowel(word):
return word
wordlist = list(word)
vowelslist = ['a','A','e','E','i','I','o','O','u','U']
for vowel in vowelslist:
3 Answers
Steven Parker
231,269 PointsIt sounds like you want some general strategy hints. I assume you want to remove each "vowel" from the word. Since you have converted the word into a list, you could use another loop to perform "remove"s on the list. You could also work directly on the word using a string's "replace" method.
Either way, check your indentation and remember to move the "return" to the end of the function.
Caleb Newell
12,562 Pointsdef disemvowel(word):
wordlist = list(word)
vowelslist = ['a','A','e','E','i','I','o','O','u','U']
for vowel in vowelslist:
list.remove(vowelslist)
return word
Steven Parker
231,269 PointsOk, here's some more hints:
- the loop still needs to be indented to be part of the function
- the "remove" is working on "list", but nothing named "list" was defined (did you mean "wordlist"?)
- the argument to "remove" should be a single vowel instead of the whole list of them
- the "wordlist" is not being converted back into a string
- the original "word" is being returned unchanged.
Caleb Newell
12,562 Pointsi got to here, but i still don't get it. I am a little confused on the for in loop. Would you mind explaining it a bit more? Sorry to bother you.
def disemvowel(word):
wordlist = list(word)
vowelslist = ['a','A','e','E','i','I','o','O','u','U']
for vowel in vowelslist:
wordlist.remove(vowelslist)
return word
Steven Parker
231,269 PointsThe "return" should not be inside the loop. As it is now, the function will end on the first pass in the loop.
The "return" is giving back the original "word". But you want to return a modified version (with no vowels).
The loop is working on a list, but the function needs to return a string. So you need to re-join the list after the loop.
Caleb Newell
12,562 Pointsthanks. I tried this and it worked.
def disemvowel(word):
vowelslist = ['a','A','e','E','i','I','o','O','u','U']
for i in vowelslist:
if i in word:
word = word.replace(i, '')
return word
Steven Parker
231,269 PointsYour persistence paid off, good job!
Caleb Newell
12,562 PointsCaleb Newell
12,562 Pointsi'm sorry i still didnt' get it. If you do not mind to help me a wee bit more?
Steven Parker
231,269 PointsSteven Parker
231,269 PointsSure, but where are you now? Did you fix the indentation yet? Have you decided if you want to work with a list or a string?