在 Python 中重新排列单词之间的空格的程序

假设我们有一个字符串 s,其中一些单词被放置在一定数量的空格中。每个单词至少用一个空格隔开。我们必须重新排列空格,使每对相邻单词之间的空格数相同,并且每个单词之间的空格数最大化。如果我们无法平均重新分配所有空间,我们可以将多余的空间放在最后。

所以,如果输入像s =“我爱编程”,那么输出就是“我爱编程”,看空格是分布的,单词之间有五个空格。

示例(Python)

让我们看看以下实现以获得更好的理解 -

def solve(s):

   res = ""

   total_sp = s.count(" ")

   suff_sp_cnt = total_sp

   text_array = s.split()

   num_words = len(text_array)

   if num_words == 1:

      res = text_array[0] + total_sp * " "

      return res

   sep_size = total_sp // (num_words - 1)

   sep = sep_size * " "

   for i in text_array:

      res += i

      res += sep

      suff_sp_cnt -= sep_size

   suff_sp_cnt += sep_size

   res = res.strip()

   res += suff_sp_cnt * " "

   return res

s = " 我爱编程 "

print(solve(s))

输入

" 我爱编程 "
输出结果
"我爱编程 "

以上是 在 Python 中重新排列单词之间的空格的程序 的全部内容, 来源链接: utcz.com/z/322774.html

回到顶部