描述
•连续输入字符串,请按长度为8拆分每个输入字符串并进行输出;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
(注:本题有多组输入)
输入描述:
连续输入字符串(输入多次,每个字符串长度小于等于100)

输出描述:
依次输出所有分割后的长度为8的新字符串
输入:
abc
123456789
输出:
abc00000
12345678
90000000

解题思路

  1. 将输入数据添加到列表中,使用异常EOFEorr保证程序可多次输入,并可以正常结束循环
  2. 循环遍历列表,判断输入的元素长度
  3. 获取元素长度l以及l % 8的余数x
    四种情况:
    l大于8且x不为0
    l大于8且x为0
    l等于8
    l小于8
data_list = []
while True:
    try:
        data_list.append(input())
    except (EOFError, KeyboardInterrupt):
        break
for ele in data_list:
    l = len(ele)
    x = l % 8
    if l > 8 and x != 0:
        #raw = l // 8 + 1
        for i in range(0, l, 8):
            pf = ele[i:i+8]
            if len(pf) == 8:
                print(pf)
            if len(pf) < 8:
                print(pf.ljust(8, '0'))
    elif l < 8 and x != 0:
        print(ele.ljust(8, '0'))
    
    elif l == 8:
        print(ele)
    
    elif l > 8 and x == 0:
        for i in range(0, l, 8):
            print(ele[i:i+8])

个人思路,如果有更好的方法欢迎评论在下方。