题目描述
连续输入两组字符串,请按长度为8拆分每个字符串后输出新的字符数组。长度不是8整数倍的字符数组请在后面补0。
示例输入、输出
输入:
abc
123456789
输出:
abc00000
12345678
90000000
题目分析
输入的合法字符串无非就两种类型:1. 字符串长度小于或等于8; 2. 字符串长度大于8。
对于第一种情况,只需要在字符串后面补0,直到长度为8为止。
对于第二种情况,将字符串按长度8拆分,即每8个连续字符为一组,记录到一个列表中。如果字符串能被8整除,那么意味着所有拆分后的字符串都满足题目要求。但如果字符串不能被8整除,那么最后一次拆分的字符串的长度将小于8,这时在继续补0,直到最后一个子字符串长度满足8为止即可。最后将列表输出,每一行输出一个子字符串。
测试用例
1. 输入的字符串长度大于0却小于8
2. 输入的字符串为空串
3. 输入的字符串长度大于8
4. 输入的字符串长度等于8的倍数
代码
def split_string(string):
string_list = []
if len(string) <= 8:
string_list.append(string + '0' * (8 - len(string)))
return string_list
while len(string) > 8:
temp = string[0:8]
string = string[8:]
string_list.append(temp)
if len(string) > 0:
string_list.append(string + '0' * (8 - len(string)))
return string_list
#main
s1 = input()
s2 = input()
s1_list = split_string(s1)
s2_list = split_string(s2)
for element in s1_list:
print(element)
for element in s2_list:
print(element)
传送门
1. input()函数
https://blog.csdn.net/TCatTime/article/details/82556033
2. len()函数:
https://blog.csdn.net/TCatTime/article/details/82469297
3. append()函数