替换字符串中的字母(如果它们在一个字母串中)

2024-03-29 10:11:11 发布

您现在位置:Python中文网/ 问答频道 /正文

在问这个问题之前,我已经检查过我的问题是否有解决办法。在

我在做Python。我正试图编写一个输入字符串的代码,对于该字符串中的每个字母(元音(aeiou),将该元音本身替换4次。然后在末尾添加一个感叹号(!)。示例:

apple看起来像aaaappleeee!。在

我试了很多次都没有效果。不知道你们能不能看看我的代码看看我做错了什么。拥抱和亲吻。克里斯托弗

def exclamation (string):
    for i in range(0,len(string)):
        if string[i] in 'aeiou':
            string.replace(string[i],string[i*4])
        print(string + '!')

Tags: 字符串代码in示例applestring字母末尾
3条回答
def exclamation(string):
    new_string = ''
    for c in string:
        if c in 'aeiou':
            new_string += c * 4
        else:
            new_string += c
    new_string += '!'
    return new_string

字符串是不可变的,因此每次替换字符串都会返回一个新字符串。相反,只需在执行以下操作时构建一个字符串:

def exclamation (string):
    buildString = ""
    for i in range(0,len(string)):
        if string[i] in 'aeiou':
            buildString = buildString +string[i]*4
        else:
            buildString = buildString +string[i]
    print buildString+"!"

您可以迭代一个字符串,这样就不必修改范围,str.replace也不会修改现有的字符串。总之,你可以这样做:

def exclamation(string):
    for c in "aeiou":
        string = string.replace(c, c*4)
    print(string + "!")

相关问题 更多 >