题意分析:输入一个字符传,对字符串传以8位为单位进行分割,小于0就补0到8位后打印

利用递归的思想很好解决。

对输入的字符串进行判断,有以下几种情况:

  1. 字符串为空,不作处理
  2. 字符串小于等于8,补0到8位后输出
  3. 大于8的,输出前8个,8位之外的字符串 递归调用函数再进行判断

def split8(s):
    # 空字符不处理
    if not s:
        return
    # 长度小于8的,补0后输出
    elif len(s) < 8:
        s+=(8-len(s))*'0'
        print(s)
        return
    # 大于8的,输出前8个,8位之外的递归调用再判断
    else:
        print(s[:8])
         # 8位之外的递归调用再判断
        return split8(s[8:])
   
s = input()
split8(s)