【问题标题】:Repeating Characters in the Middle of a String字符串中间的重复字符
【发布时间】:2015-02-28 05:05:45
【问题描述】:

这是我正在尝试解决但无法解决的问题:

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

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

例如,下面的代码片段:

print repeat_middle("abMNcd")`

应该产生输出:

!!MNMNMNMNMNMN!!

【问题讨论】:

  • 你能告诉我们你的代码吗?

标签: python string repeat


【解决方案1】:
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!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-29
    • 1970-01-01
    • 2018-07-09
    • 2012-12-14
    • 2023-03-15
    • 1970-01-01
    相关资源
    最近更新 更多