菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
170
0

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

原创
05/13 14:22
阅读数 94798

题目

连续输入字符串,请按长度为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

发表评论

0/200
170 点赞
0 评论
收藏
为你推荐 换一批