我编写了下面给出的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.
我不知道为什么会出现这个错误。
答案 0 :(得分:3)
该情况导致错误:while string[i] != "/":
在您递增i
之后,检查之前的条件,检查if i == len(string):
以打破循环。将该检查移至循环结束:
while(string[i]!="/"):
gtkname=gtkname+string[i]
i=i+1
if i==len(string):
break
答案 1 :(得分:0)
您没有以正确的方式操纵字符串字符的迭代
def processstring(string):
if string[0]=="/":
return string[1:string.find("/",1)]
return string
Python为我们提供了不在列表索引上使用直接迭代的方法