首页 > 试题广场 >

字符串分隔

[编程题]字符串分隔
  • 热度指数:1288425 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
\hspace{15pt}对于给定的由小写字母和数字混合构成的字符串 s,你需要按每 8 个字符换一行的方式书写它,具体地:
\hspace{23pt}\bullet\,书写前 8 个字符,换行;
\hspace{23pt}\bullet\,书写接下来的 8 个字符,换行;
\hspace{23pt}\bullet\,……
\hspace{23pt}\bullet\,重复上述过程,直到字符串被完全书写。
\hspace{15pt}特别地,如果最后一行不满 8 个字符,则需要在字符串末尾补充 0,直到长度为 8

输入描述:
\hspace{15pt}在一行上输入一个长度 1 \leqq {\rm length}(s) \leqq 100,由小写字母和数字构成的字符串 s


输出描述:
\hspace{15pt}输出若干行,每行输出 8 个字符,代表按题意书写的结果。
示例1

输入

hellonowcoder

输出

hellonow
coder000

说明

\hspace{15pt}在这个样例中,字符串长度为 13,因此需要在第二行末尾补充 30
示例2

输入

0

输出

00000000
n=input() while len(n)>0:
    s=n[:8].ljust(8,"0") print(s)
    n=n[8:]
发表于 2026-04-16 20:17:36 回复(1)
s = input()
if len(s) % 8 != 0:
    s += "0" * (8 - len(s) % 8)
for i in range(0, len(s), 8):
    print(s[i : i + 8])
发表于 2026-04-01 16:44:08 回复(0)
a = input()
l = len(a)
i = 0
while l>8:
    print(a[i:i+8])
    l = l-8
    i = i+8
print(a[i:i+8].ljust(8,'0'))
使用ljust函数补足最后一行的0
发表于 2026-03-31 22:39:59 回复(0)
s = input()
s_size = len(s) // 8 if len(s) % 8 == 0 else len(s) // 8 + 1
for i in range(s_size):
    print(s[i*8:(i+1)*8].ljust(8,'0'))

发表于 2025-11-23 23:17:30 回复(0)
a = input()
if len(a) <= 7:
    while len(a) <= 7:
        a+='0'
    print(a)
else:
    while len(a) > 8:
        print(a[0:8])
        a = a[8:]
    else:
        while len(a) <= 7:
            a+='0'
        print(a)
呆滞循环

发表于 2025-11-11 16:31:17 回复(0)
import sys

s = input().strip()
n = len(s)
for i in range(0, n, 8):
    print(s[i:i+8].ljust(8, '0'))
发表于 2025-09-17 21:36:17 回复(0)
s = input()
l = len(s)

if l % 8 != 0:
    s = s + "0" * (8 - l % 8 )

for i in range(0, len(s), 8):
    print(s[i: i+8])

发表于 2025-08-25 20:55:11 回复(0)
a = input()
lenth = len(a)
if lenth%8 != 0:
    if lenth > 8:
        a += (8-lenth + 8*(lenth//8))*'0'
    if lenth < 8:
        a += (8-lenth)*'0'
for i in range(0,lenth,8):
    print(a[i:i+8])
发表于 2025-07-10 22:06:10 回复(0)
str = input()
list1 = list(str)
l = len(str)
t = 8 - (l % 8)
while t > 0:
   list1.append('0')
   t -= 1

for j in range(0, l, 8):
    print(''.join(list1[j:j+8]))

发表于 2025-07-10 16:27:33 回复(0)
a=input()
length=len(a)
n=length//8
b=0
if length%8!=0:
    b=8-length%8
a=a+"0"*b
# print(a)
if b==0:
    n=n
else:
    n=n+1
for i in range(n):
    print(a[8*i:8*i+8])
# print(n,b,a)
先确认需要补充多少0,后续循环输出


发表于 2025-07-08 18:08:24 回复(0)
a = input()
for i in range(0,len(a),8):
    b = a[i:i+8]
    if len(b) < 8:
        b += '0'*(8-len(b))
    print(b)
菜鸡一个
发表于 2025-07-01 17:19:02 回复(0)
def format_string(s):
    # 补零直到长度是8的倍数
    while len(s) % 8 != 0:
        s += '0'
    # 按每8个字符切片,用换行连接
    result = []
    for i in range(0, len(s), 8):
        result.append(s[i:i+8])
    return '\n'.join(result)

# 交互输入部分
if __name__ == "__main__":
    user_input = input("请输入由小写字母和数字组成的字符串:")
    formatted = format_string(user_input)
    print("\n格式化后的结果:")
    print(formatted)
发表于 2025-06-18 15:22:06 回复(0)
import sys

s = input()
n = len(s) // 8
d = len(s) % 8
for i in range(n):
    print(s[i*8:(i+1)*8])
if d != 0 :
    print(s[n*8:] + "0"*(8-d))
发表于 2025-05-29 16:07:52 回复(0)
s = input()
length = len(s)
index = 0

while True:
    if index + 8 < length:
        print(s[index:index + 8])
        index += 8
    else:
        print(s[index:length] + "0" * (8 - (length - index)))
        break
发表于 2025-05-08 19:12:51 回复(0)
s = input()

if len(s) % 8 != 0:
    s += '0' * (8- (len(s)%8))

for i in range(len(s)//8):
    print(s[8*i:8*i+8])

发表于 2025-05-05 11:51:28 回复(0)
s = input()

# Add zeros at the end of the input string if its length is not a multiple of 8:
s_length = len(s)
if s_length%8 == 0:
    pass
else:
    num_zeros = 8 - (s_length%8) # The number of zeros to add is equal to 8 minus the remainder of the length of the input string divided by 8. E.g.: 38%8 = 6 -> Add (8-6)=2 zeros.
    for _ in range(num_zeros):
        s += "0"

for i in range(0, len(s)//8): # Use the floor division because range() only accepts integer inputs.
    print(s[8*i:(8*i+8)], end="\n") # Use end="\n" to print out results line by line.
发表于 2025-04-09 02:40:30 回复(0)

有些繁琐,我的方法是字符串转列表,用列表来控制输出,再把输出的列表转字符串

import sys

s = input() # 接收输入的字符串
length = len(s)
s_add = '0' * (8 - length%8)
if(length % 8 != 0):
    length = length + (8-length % 8)

count = int(length/8)

new_s = s + s_add
s_lst = list(new_s) # 待输出字符串转列表

for i in range(0, count):
    s_print = s_lst[0:8] # 待输出的列表
    str_print = ''.join(map(str, s_print)) # 待输出列表转字符串
    print(str_print)
    del s_lst[0:8] # 删除列表中已经输出的前八个元素
发表于 2025-03-21 18:36:42 回复(0)

问题信息

难度:
174条回答 151524浏览

热门推荐

通过挑战的用户

查看代码
字符串分隔