在字符串中间重复字符

Repeating Characters in the Middle of a String

这是我试图解决但无法解决的问题:

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

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

例如,以下代码片段:

print repeat_middle("abMNcd")`

应该产生输出:

!!MNMNMNMNMNMN!!
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!