python常见面试题讲解(四)字符串分隔

题目描述

•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

输入描述:

连续输入字符串(输入2次,每个字符串长度小于100)

输出描述:

输出到长度为8的新字符串数组

示例1

输入

复制
abc
123456789

输出

复制
abc00000
12345678
90000000

解决方案:
使用for循环将大于8位的字符拆分,写入新的数组,将第9位到剩余的字符继续循环调用,最终小于8的字符通过+00000000再截取来补0
方法一:
 1 x=input()
 2 y=input()
 3 z=[]
 4 while len(x)>8:
 5     x1=x[0:8]
 6     z.append(x1)
 7     x=x[8:]
 8 x=x+'00000000'
 9 x=x[0:8]
10 z.append(x)
11 while len(y)>8:
12     y1=y[0:8]
13     z.append(y1)
14     y=y[8:]
15 y=y+'00000000'
16 y=y[0:8]
17 z.append(y)
18 for i in z:
19     print(i)

方法二:(再用一次for循环,减少一半步骤)

 1 x=input()
 2 y=input()
 3 z=[x,y]
 4 r=[]
 5 for i in z:
 6     while len(i)>8:
 7         i1=i[0:8]
 8         r.append(i1)
 9         i=i[8:]
10     i=i+'00000000'
11     i=i[0:8]
12     r.append(i)
13 for i in r:
14     print(i)

 



posted @ 2020-05-26 00:57  Mrwhite86  阅读(348)  评论(0编辑  收藏  举报