【发布时间】:2025-11-24 03:20:08
【问题描述】:
我正在做 anti_vowel 函数,它基本上从输入中取出所有元音,我有一些错误。 下面是我的代码
def anti_vowel(text):
vowel="aeiouAEIOU"
for i in range(len(text)-1):
for h in range(len(vowel)-1):
if text[i]==vowel[h]:
text=text.replace(text[i],"")
return text
print anti_vowel("HELLO")
如果我输入“HELLO”,它将成功打印“HLL”。但是如果我将输入更改为“Hey look Words!”, 它显示错误 IndexError: string index out of range。如果有人能帮我解决这个问题,我将不胜感激。
【问题讨论】:
-
您更改了正在迭代的集合。如果第二个元音在最后一个字符之前,它将失败。试试输入“EEL”这可能会更好:*.com/a/3939381/1766544
-
整个函数体可以简化为
return ''.join(character for character in text if character not in 'aeiouAEIOU')。如果您想学习 Python,请尝试理解这段代码。 -
@Matthias 非常感谢,代码很简单
标签: python indexing error-handling