from re import split
import sys
# 输入
str1 = list(input())
num1 = len(str1)
if num1 <= 8:
num2 = 8-num1 #最后一次需要补0的数量
for i in range(num2):
str1.append(0)
print(*str1,sep = '')
else:
while num1 > 8:
print(*str1[:8], sep='') # 输出8个
str1 = str1[8:]
num1 -= 8
num2 = 8-num1 #最后一次需要补0的数量
for i in range(num2):
str1.append(0)
print(*str1,sep = '')
核心知识:*直接输出列表元素,sep''间隔输入
print(*a_list)中, *a_list 什么意思
在 Python 中,* 运算符前面的变量用于将其元素作为独立的位置参数进行解包。这意味着,如果您有一个列表、元组或任何其他可迭代对象,您可以使用 * 运算符将其元素作为函数的独立参数进行传递。
例如,考虑以下代码:
a_list = [1, 2, 3, 4] print(*a_list)
在这里,* 运算符用于将 a_list 的元素作为独立的参数进行解包,然后将它们传递给 print 函数。此代码的输出将是:
1 2 3 4
在这种情况下,print 函数将列表的每个元素视为单独的参数,而不是单个参数列表。
进一步思考
那么这种可以用来直接输出数字列表?
可以
字符串列表呢
可以,但是是逐行数出
原因:
- 使用 * 运算符解压缩数字列表时,print 函数的默认行为是在一行上打印数字,用空格分隔。这是因为 print 函数将数字视为单独的参数,而参数之间的默认分隔符是空格。
- 在这种情况下,* 运算符用于将字符串列表的元素解压缩为单独的参数,然后将其传递给 print 函数。然后,print 函数在单独的行上打印每个字符串。
print 的 sep 和 end 的区别:
sep 在打印连续内容的时候指定分隔符,而 end 指定一行的结束符
例如:
print('apple', 'banana', 'orange', sep=', ')
这将会输出:
apple, banana, orange
这里的 ', ' 是分隔符,用来在打印的每个对象之间添加一个逗号和一个空格。
print('Hello', end=' ')
print('world')
这将输出:
Hello world
在这个例子中,' ' 是 end 参数的值,它指定了在第一个 print() 结束时不要换行,而是添加一个空格,然后继续打印下一个字符串。

京公网安备 11010502036488号