s = input()
for i in range(0, len(s), 8):
print(s[i:i+8].ljust(8, "0"))
这题其实有两种思路,一个是先补齐0的个数再按step分割字符串,那就需要算一下余数 if len(s)%8!=0: s=s+"0"*(8-len(s)%8).
s = input()
if len(s) % 8 != 0:
s = s + "0" * (8 - len(s) % 8)
for i in range(0, len(s), 8):
print(s[i:i+8])
这个有点难想,而且len(s)数值大的情况下会占内存。更自然的思路是先分割,等到不够8个字符时再补齐。我本来写的是
s = input()
for i in range(0, len(s), 8):
x = s[i:i+8]
if len(x) < 8:
x = x + "0" * (8 - len(x))
print(x)
问了AI, 结果AI很聪明地提出还有ljust这个python内置的左对齐函数, 只需要告诉它补齐的内容参数就可以了,得出最上面那个最简答案,AI比我思路开阔。

京公网安备 11010502036488号