题意分析:输入一个字符传,对字符串传以8位为单位进行分割,小于0就补0到8位后打印
利用递归的思想很好解决。
对输入的字符串进行判断,有以下几种情况:
- 字符串为空,不作处理
- 字符串小于等于8,补0到8位后输出
- 大于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)