我的目标是:编写一个名为remove_vowels的函数,它将一个字符串作为输入,并返回该字符串的新版本,并将元音替换为' *'。
new
每当我运行此操作时,我都会收到错误:意外令牌var
我做错了什么?
答案 0 :(得分:4)
作业empty += letter
的结果不是一个值,因此您无法将其传递回来,而您又不想这样做。您还在代码中使用了字母而不是之前用作变量名的字符。正确的代码是:
def remove_vowels(data):
empty = ""
for char in data:
if char in 'aeiou':
empty += '*'
else:
empty += char
return empty
答案 1 :(得分:0)
您的代码无法正常运行,因为您return
正在使用就地修饰符的值None
。此外,return
应该在您的代码中稍后,因为return
充当break
。
您应该使用以下内容:
def remove_letters(data):
data = ''.join(['*' if char in 'aeiou' else char for char in data])
return data
>>> remove_letters('string')
'str*ng'
>>> remove_letters('octopus')
'*ct*p*s'
>>>
答案 2 :(得分:0)
这是另一种方式,只是为了好玩:
data = "Whatever string you can put here"
x = data.replace("a", "*").replace("e", "*").replace("i", "*").replace("o", "*").replace("u", "*")
print x
输出是这样的:
Wh*t*v*r str*ng y** c*n p*t h*r*