所以我正在尝试编写一个 Python 3 函数来接受一个字符串,删除元音并在没有元音的情况下返回它。我写了下面的代码,但它似乎只去掉了部分元音,而保留了一些未受影响。
def remove_vowels(string):
vowels = ['a','e','i','o','u']
newstring = ""
for letter in string:
if letter in vowels:
newstring = string.replace(letter,””)
else:
pass
return newstring
最佳答案
那是因为您正在设置 newstring
到循环的每次迭代中的不同字符串输出 newstring = string.replace("")
您需要设置newstring
到替换的字符串,然后在 newstring
上运行替换的下一次迭代.像这样:
def remove_vowels(string):
vowels = ['a','e','i','o','u']
newstring = string
for letter in newstring:
if letter in vowels:
newstring = newstring.replace(letter , "")
return newstring
string = "stack overflow"
print("Original string = ", string)
print("String with vowels removed = ", remove_vowels(string))
输出:Original string = stack overflow
String with vowels removed = stck vrflw
关于python - 为什么我的函数部分地做它应该做的事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64180683/