【力扣训练】【蓝桥杯训练】 将字符串拆分为若干长度为 k 的组

题目要求

字符串 s 可以按下述步骤划分为若干长度为 k 的组:

第一组由字符串中的前 k 个字符组成,第二组由接下来的 k 个字符串组成,依此类推。每个字符都能够成为 某一个 组的一部分。
对于最后一组,如果字符串剩下的字符 不足 k 个,需使用字符 fill 来补全这一组字符。
注意,在去除最后一个组的填充字符 fill(如果存在的话)并按顺序连接所有的组后,所得到的字符串应该是 s 。

给你一个字符串 s ,以及每组的长度 k 和一个用于填充的字符 fill ,按上述步骤处理之后,返回一个字符串数组,该数组表示 s 分组后 每个组的组成情况 。

 题目来源:力扣(LeetCode)
题目链接:https://leetcode-cn.com/problems/divide-a-string-into-groups-of-size-k

题目分析:

这是一道简单的题目,不用太多的分析,直接上代码。

import math

s = input()
k = int(input())
fill = input()
n = math.ceil(len(s)/k) #向上取整
x = [0 for i in range (n)] #用于存切分后的词
for i in range(n):
    #判断字符串长度是否不能刚好被切分完,并且是否在执行最后一次循环
    if n == len(s)//k + 1 and i+1 == n:
        a = s[k * i:]
        a += fill*(k - len(a)) 
        x[i] = a
    else:
        x[i] = s[k * i :k * (i + 1)]
print(x)

结果:

猜你喜欢

转载自blog.csdn.net/youngwyj/article/details/122579428
今日推荐