今天在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位,依次类推
今天在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