Python中的for循环下字符串截取

今天在for循环下执行截取字符串时,总是出现截取不完整或是数据丢失等问题,以下是我的代码逻辑,实在想不明白错在了哪

list1 = "sksndbdhxhjdjskskxnnd"
n = 0
m = 5
for i in range(3):
    print(list1[n:m])
    #或者把n,m放在这个位置是不是就可以了
    n += m
    m += m
    #我的理解是,首先打印字符串0~4位,随后m,n都+3,打印5~9位,依次类推
     

你不能这样 n += m 和 m += m 每次加m。
因为 m 是每次都是变化的。
第一次循环 m是5, n += m后n为5, m += m后m为10。
第二次循环时 m就变成10了,再次 n += m后n为15, m += m后m为20了。
应该是n 和 m 每次都加固定的值。

你题目的修改代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

list1 = "sksndbdhxhjdjskskxnnd"
n = 0
t = 5
m = t
for i in range(3):
    print(list1[n:m])
    #或者把n,m放在这个位置是不是就可以了
    n += t
    m += t

img

修改为定长增长即可,代码修改如下:
有帮助望采纳~

list1 = "sksndbdhxhjdjskskxnnd"
n = 0
m = 5
for i in range(3):
    print(list1[n:n+m])
    n += m