繁体   English   中英

错误:字符串索引超出范围

[英]Error: string index out of range

我编写了下面给出的python函数:

def processstring(string):
    gtkname=""
    if string[0]=="/":
        i=1
        while(string[i]!="/"):
            if i==len(string):
                break
            gtkname=gtkname+string[i]
            i=i+1
        return gtkname
    return string

当我执行代码时,出现以下错误:

while(string[i]!="/"):
IndexError: string index out of range.

我不知道为什么会出现此错误。

该情况导致了错误: while string[i] != "/":

在增加i ,请检查该条件, 然后再检查if i == len(string):打破循环。 将该检查移到循环的末尾:

    while(string[i]!="/"):
        gtkname=gtkname+string[i]
        i=i+1
        if i==len(string):
            break

您没有以正确的方式操纵字符串字符的迭代

def processstring(string):
    if string[0]=="/":
        return string[1:string.find("/",1)]
    return string

Python给我们提供了不对列表索引使用直接迭代的方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM