python - Python子字符串方括号不接受变量
问题描述
我正在尝试运行一个脚本,该脚本需要一长串数字并一次检查 4 个,所以我使用for in range(0, len(stringOfDigits), 4):
循环变量检查数字字符串:
for i in range(0, len(stringOfDigits), 4):
currFour = stringOfDigits[i:4]
print("Current 4 being checked are")
print(currFour)
但是如果我尝试运行它,它只会粘贴空行并像完成一样退出脚本。
有什么问题?字符串在子字符串化时是否接受变量?如果没有,我该怎么做才能达到我想要的结果?
解决方案
您需要以下内部循环:
currFour = stringOfDigits[i:i+4]
代替:
currFour = stringOfDigits[i:4]
使用currFour = stringOfDigits[i:4]
,第一个循环有效,但连续循环失败。这是因为:在第二次迭代中,当i
变为 4 时,stringOfDigits[i:4]
-> stringOfDigits[4:4]
(理想情况下需要一片[4:8]
)返回空字符串,以此类推剩余循环。