面试题-python3 连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组

题目

连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(输入2次,每个字符串长度小于100)
举例:
输入: abc
123456789
输出:
abc00000
12345678
90000000

实现代码

这题首先考察字符串的个数,分为小于8,等于8,大于8的情况,其中大于8的字符按每8个字符切割,最后的余数不足8个继续补齐。
输入要求:输入2次,每个字符串长度小于100。当大于100的时候,可以让用户重新输入,直到小于100

# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/

b = ""
n = 2
while n:
    a = input("")
    if len(a) > 100:
        print("请输入字符小于100")
        continue
    else:
        if len(a) < 8:
            b += a+(8-len(a))*'0'+"\n"
        elif len(a) == 8:
            b += a+"\n"
        else:
            for i in range(len(a)//8):
                b += a[8*i:8*(i+1)]+"\n"
            # 判断是不是8 的整数倍,如果不是,取出后面的
            if len(a)%8 != 0:
                yu = a[8*(len(a)//8):]
                b += yu+(8-len(yu))*'0'+"\n"
        n -= 1
print(b)


运行效果

abc
123456789
abc00000
12345678
90000000

再次输入一个较长字符,运行效果

abc
123456789acccccccccccccccccccc
abc00000
12345678
9acccccc
cccccccc
cccccc00
posted @ 2021-04-15 23:38  上海-悠悠  阅读(2950)  评论(0编辑  收藏  举报