首页 > 解决方案 > 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)

但是如果我尝试运行它,它只会粘贴空行并像完成一样退出脚本。

有什么问题?字符串在子字符串化时是否接受变量?如果没有,我该怎么做才能达到我想要的结果?

标签: pythonpython-3.xstringloops

解决方案


您需要以下内部循环:

currFour = stringOfDigits[i:i+4]

代替:

currFour = stringOfDigits[i:4]

使用currFour = stringOfDigits[i:4],第一个循环有效,但连续循环失败。这是因为:在第二次迭代中,当i变为 4 时,stringOfDigits[i:4]-> stringOfDigits[4:4](理想情况下需要一片[4:8])返回空字符串,以此类推剩余循环。


推荐阅读