首页 > 试题广场 >

字符串分隔

[编程题]字符串分隔
  • 热度指数:1213970 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

•输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;

•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

输入描述:

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



输出描述:

依次输出所有分割后的长度为8的新字符串

示例1

输入

abc

输出

abc00000
import sys

a=input()
list1=[]
i=0
str1=""
while True:
    if i+8>=len(a):
        extra_length = 8-(len(a)-i)
        str1=f"{a[i:]}"+extra_length* "0"
        #print("str1:",str1)
        list1.append(str1)
        break
    list1.append(a[i:i+8])
    i=i+8
for i in list1:
    print(i)

发表于 2024-10-16 10:24:10 回复(0)
str1 = input()
  
if len(str1) % 8 != 0:
    for i in range(8 - len(str1) % 8):
        str1 += '0'
  
for i in range(len(str1) // 8):
    print (str1[8 * i: 8 * (i + 1)])

发表于 2024-08-14 20:31:56 回复(0)
while True:
try:
input1 = input()
length = len(input1)
while True:
if length <= 8:
print(input1+"0"*(8-len(input1)))
break
else:
print(input1[:8])
input1 = input1[8:]
length -=8

except:
break
发表于 2024-06-21 02:57:16 回复(0)
import string
import sys,math
string1 = input()
a = len(string1)
b = a%8
while True:
    if b != 0:
        a = a+1
        string1 = (string1 + "0")
        b = a%8
       
    else: break#string1已补满数字0

for i in range(0,len(string1),8):
    print(string1[i:i+8])
发表于 2024-05-17 17:48:24 回复(0)
s = input()
print(*[s[i:i+8].ljust(8,'0') for i in range(0,len(s),8)],sep='\n')

编辑于 2024-04-15 17:37:32 回复(0)
s1 = input()
if len(s1) == 8:
    print(s1)
if len(s1) < 8:
    num1 = int(8 - len(s1))
    for i in range(1,num1+1):
        s1 = s1 + "0"
        i = i + 1
    print(s1)
if len(s1)>8:
    dif=(int(len(s1)/8)+1)*8-len(s1)
    if dif!=8:
        for i in range(dif):
            s1=s1+"0"
    for i in range(len(s1)):
        print(s1[(0+8*i):(8+8*i)])

编辑于 2024-03-14 17:13:46 回复(0)
str1 = input()

def strsplit8(aimstr):
    if aimstr:
        strlen = len(aimstr)
        if strlen < 8:
            zerocount = "0"* (8-strlen)
            print(f"{aimstr}{zerocount}")
        else:
            print(aimstr[0:8])
            strsplit8(aimstr[8:])
strsplit8(str1)
发表于 2023-10-24 23:38:13 回复(0)
import sys

s1 = input()
i = 0
j = 7
while True:
    if len(s1)<(i+1):
        break
    if len(s1)>j:
        print(s1[i:j+1])
    else:
        # 方法一
        # 先将字符串倒叙,然后使用rjust()在字符串左边插入,然后再倒叙回来
        # rjsut(width[,fillchar])width是插入之后字符串的总长度,fillchar是填充字符,默认是空格
        s2=s1[::-1]
        s1=(s2.rjust((j+1),'0'))[::-1]

        # 方法二,用for循环添加
        # a=len(s1)
        # for n in range(8-(a-i)):
        #     s1=s1+'0'
        print(s1[i:])
    i+=8
    j+=8

发表于 2023-06-28 10:54:22 回复(0)
str1 = input()
lens = len(str1)
m = lens % 8    
if m != 0:      #字符串对8取余,不为0说明字符串按8位分割后最后一个字符串不是8位,需要将字符串末尾用0补齐
    str1 += '0'*(8-m)
for i in range(len(str1)//8):   #对补齐后的字符串除以8取商,计算可以分割为几个8位字符串,对应循环几次,每次以8的长度切片
    print(str1[8*i:8*i+8])

发表于 2023-03-30 23:29:54 回复(0)
str=input()
while len(str)>8:
    print(str[:8])
    str=str[8:]
print(str.ljust(8,'0'))
发表于 2023-03-10 19:52:04 回复(0)
test_str = input().strip()
n = len(test_str)
if n > 8:
    i = 0
    while i <= n - 1:
        if n - i >= 8:
            print(test_str[i:i + 8])
            i += 8
        else:
            print(test_str[i:] + (8 - len(test_str[i:])) * "0")
            break
else:
    print(test_str + (8 - n) * "0")
发表于 2023-03-09 19:47:17 回复(0)
这题不是说不超过100字符 最后一组数据都一百多字符了 我还不能限制100
发表于 2023-02-19 15:34:18 回复(0)
import sys

in_str = input()
times_8 = len(in_str)//8
if len(in_str)%8==0:
    for i in range(times_8):
        print(in_str[i*8:i*8+8])
elif times_8 > 0:
    for i in range(times_8):
        print(in_str[i*8:i*8+8])
        if i + 1 == times_8:
            print(in_str[(i+1)*8:]+'0'*(8-len(in_str)%8))
else:
    print(in_str+'0'*(8-len(in_str)))
    

发表于 2023-02-11 17:24:55 回复(0)
str1=input()
n=len(str1)

if n%8==0:
    for i in range(n//8):
        print(str1[i*8:(i+1)*8])
else:
    for i in range(n//8):
        print(str1[i*8:(i+1)*8])
    #print(str1[n//8*8:]+'0'*(8-n%8))
    print(str1[n//8*8:].ljust(8,'0'))

发表于 2023-02-01 16:54:21 回复(0)
import re
str1 = input()
str1 = str1 + '0'*7
str2 = re.findall(r'.{8}', str1)
for i in str2:
    print(i)
1、先直接在需要切割的字符串后补7个0
2、用正则表达式按8个字符一组进行分割
3、最后几个字符的长度一定不满足,舍去
发表于 2022-09-08 11:12:41 回复(0)
import sys
str = sys.stdin.readline().strip()
if len(str) >= 8:
    for i in range(len(str)//8):
        print(str[0+i*8:8+i*8])
if len(str)%8 != 0:
    print(str[-(len(str)%8):]+(8-len(str)%8)*'0')
发表于 2022-09-05 15:46:23 回复(0)
a=input()
length1=len(a)
c=[]
acc=0
b=[]
for i in a: 
    if acc<8:
        b.append(i)
        acc=acc+1
    else:
        c.append(b)    
        b=[]
        b.append(i)
        acc=1  
lengc=len(c)
diff=int(length1)-int(lengc)*int(8)
for i in range(int(lengc)*int(8)-1,-1):
    b.append(a[i])
c.append(b)
if len(c[-1])//8==0:
    addmore=8-len(c[-1])
    for i in range(addmore):
        c[-1].append('0')
for i in c:
    print(''.join(map(str,i)),end='\n')
发表于 2022-09-03 20:12:01 回复(1)
str0=input("")
str1=""
for i in str0:
    str1 = str1+i
    if len(str1) == 8:
        print(str1)
        str1=""
if str1:
    for i in range(8-len(str1)):
        str1+="0"
    print(str1)
发表于 2022-09-02 23:11:41 回复(0)
s=input()
if len(s)<=8:
    print(s+'0'*(8-len(s)))
else:
    while len(s)>8:
        print(s[:8])
        s=s[8:]
    print(s+'0'*(8-len(s)))
发表于 2022-08-27 22:06:48 回复(0)