I thought everything was properly indented here but I am getting an IndentationError: expected an indented block at the else: statement. Am I making an obvious mistake here?
def anti_vowel(text):
new_string = ""
vowels = "aeiou"
for letter in text:
for vowel in vowels:
if (lower(letter) == vowel):
#do nothing
else:
#append letter to the new string
new_string += letter
return new_string
You need to put something inside the if
block. If you don't want to do anything, put pass
.
Alternatively, just reverse your condition so you only have one block:
if lower(letter) != vowel:
new_string += letter
Incidentally, I don't think your code will do what you intend it to do, but that's an issue for another question.
Do nothing translates to using the pass
keyword to fill an otherwise empty block (which is not allowed). See the official documentation for more information.
def anti_vowel(text):
new_string = ""
vowels = "aeiou"
for letter in text:
for vowel in vowels:
if (lower(letter) == vowel):
#do nothing
pass
else:
#append letter to the new string
new_string += letter
return new_string
You can't do this.
if (lower(letter) == vowel):
#do nothing
Try:
if (lower(letter) == vowel):
#do nothing
pass
This can be caused by mixing tabs and spaces. However, this is probably caused by having nothing inside your if statement. You can use "pass" as a placeholder (see example below).
if condition:
pass
Information on pass: http://docs.python.org/release/2.5.2/ref/pass.html
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.