Python:在字符串中添加字符的副本

2024-10-01 13:38:22 发布

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

我想知道如何在字符串中添加一个字符的副本,只要这个字符是元音。 例如,如果我输入单词copy('app'),则理想情况下它将返回“aaaapp!”。我知道弦是不可变的,但总有办法!我已经盯着这个看了好几个小时了。在

注意:我不想要我的代码的解决方案,最好只是一个提示,让我朝着正确的方向前进。 编辑:谢谢大家的帮助!在

我的一个想法是:word+=word+i*4,但这会返回类似“appaaa!”在

def copy(word):
     "('string') ==> ('string') Adds four copies of vowel and an '!' to the string"
     vowel = 'aeiouAEIOU'
     for i in word:
          if i in vowel:
                #Missing code Here
     return word + '!'

Tags: 字符串inappstring副本情况字符单词
3条回答

扫描输入时编写一个单独的字符串:

s = ''
for i in word:
  if i in vowel:
     s += i*4
  else:
     s += i
s += '!'

您可以很容易地使用re.sub

>>> re.sub('([aeiouAEIOU])',r'\1\1\1\1','string')
'striiiing'

或者,如果希望替换的数量可变:

^{pr2}$

关键是制作一个新的字符串。如果字符不是元音,只需将其复制到新字符串。如果它是一个元音,你将它的四个拷贝复制到新的字符串中。然后返回新字符串。有一种方法可以做到:

def copy(word):
    vowels = set ("AEIOUaeiou")
    return "".join(char * 4 if char in vowels else char for char in word) + "!"

相关问题 更多 >