在字符串中间重复字符
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!
这是我试图解决但无法解决的问题:
定义一个名为 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!