You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Python字符串切片问题:按4字符分段输出空行求助

解决你的Python切片问题

我来帮你排查下代码里的问题,你现在遇到的空行输出和几个小错误有关,咱们一步步来修正:

问题1:变量定义的语法错误

你写的a=0 b=3在Python里是不合法的,多个变量赋值要么用逗号分隔,要么分两行写,不然解释器会直接报错,这可能是程序没正常运行的核心原因之一。

问题2:切片长度不对

Python的字符串切片是左闭右开的规则——也就是word[a:b]会包含索引a的字符,但不会包含索引b的字符。你要取4个字符的片段,应该让结束索引是a + 4,而不是初始设为3。初始a=0, b=3的话,取的是前3个字符,当你每次给ab加4,后续的切片会很快超出字符串范围,自然输出空字符串。

问题3:循环范围有误

你用了range(1, repetitions),当repetitions=5时,这个范围只会生成1,2,3,4四个数,也就是循环4次,但你的目标是取5个4字符片段(你的word长度是20,刚好能分成5段),所以应该用range(repetitions)来循环5次。

修正后的代码

a = 0
repetitions = 5
word = "10011100110000111010"
for x in range(repetitions):
    # 每次取从a开始的4个字符
    print(word[a:a+4])
    a += 4

或者更简洁的写法,不用手动维护a变量,直接用循环变量计算起始索引:

repetitions = 5
word = "10011100110000111010"
for x in range(repetitions):
    start = x * 4
    print(word[start:start+4])

运行这段代码,你会得到正确的4字符片段输出:

1001
1100
1100
0011
1010

内容的提问来源于stack exchange,提问作者Uriel Sasieni

火山引擎 最新活动