删除元音并插入' *'

时间:2015-04-30 04:10:25

标签: python list iteration

我的目标是:编写一个名为remove_vowels的函数,它将一个字符串作为输入,并返回该字符串的新版本,并将元音替换为' *'。

new

每当我运行此操作时,我都会收到错误:意外令牌var

我做错了什么?

3 个答案:

答案 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*