以下是我试图解决的问题,但遇到了解决问题:
定义一个名为repeat_middle
的函数,它接收一个字符串(至少有一个字符)作为参数,并且它应该返回一个新字符串,该字符串将使字符串中的中间字符重复多次。输入(原始)字符串的长度。请注意,如果原始字符串具有奇数个字符,则只有一个中间字符。另一方面,如果原始字符串具有偶数个字符,那么将有两个中间字符,并且两者都必须重复(参见示例)。
此外,如果只有一个中间字符,那么字符串应该在每个极端都被1个感叹号包围。另一方面,如果原始字符串有两个中间字符,那么输出(或返回)字符串应该在每个极端都有两个感叹号。
例如,以下代码片段:
print repeat_middle("abMNcd")`
应该产生输出:
!!MNMNMNMNMNMN!!
答案 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!