重复字符串中间的字符

时间:2015-02-26 07:34:43

标签: python string repeat

以下是我试图解决的问题,但遇到了解决问题:

定义一个名为repeat_middle的函数,它接收一个字符串(至少有一个字符)作为参数,并且它应该返回一个新字符串,该字符串将使字符串中的中间字符重复多次。输入(原始)字符串的长度。请注意,如果原始字符串具有奇数个字符,则只有一个中间字符。另一方面,如果原始字符串具有偶数个字符,那么将有两个中间字符,并且两者都必须重复(参见示例)。

此外,如果只有一个中间字符,那么字符串应该在每个极端都被1个感叹号包围。另一方面,如果原始字符串有两个中间字符,那么输出(或返回)字符串应该在每个极端都有两个感叹号。

例如,以下代码片段:

print repeat_middle("abMNcd")`

应该产生输出:

!!MNMNMNMNMNMN!!

1 个答案:

答案 0 :(得分:0)

def repeat_middle(text):
    a, b = divmod(len(text) - 1, 2)
    middle = text[a:a + b + 1]
    exclamations = '!' * len(middle)
    return '{}{}{}'.format(exclamations, middle * len(text), exclamations)

>>> print repeat_middle("abMNcd")
!!MNMNMNMNMNMN!!

>>> print repeat_middle("abMcd")
!MMMMM!