它不是 运行 并显示 indexError

it is not running and showing indexError

term="gv jnj klk"
stri=[]
c=0
for i in range(0,len(term)-1):
if term[i]==" ":
 c=c+1
else:
 stri[c]=stri[c]+term[i]
print(stri)

显示的错误是 stri[c]=stri[c]+term[i] IndexError: 列表索引超出范围

您的 stri 列表是空的。试试这个代码:

term="gv jnj klk"
stri=[""] * len(term)
c=0
for i in range(0,len(term)-1):
    if term[i]==" ":
        c=c+1
    else:
        stri[c]=stri[c]+term[i]
print(stri)

输出:

['gv', 'jnj', 'kl', '', '', '', '', '', '', '']

我建议您使用 shorthand 运算符 +=。使用 append 可以防止列表中出现额外的 non-useful 元素。我还建议您在离开循环后添加最后一个字符:

term="gv jnj klk"
stri=[""]
c=0
for i in range(0, len(term)-1):
    if term[i]==" ":
        c += 1
        stri.append("")
    else:
        stri[c] += term[i]
stri[-1] += term[-1]
print(stri)

输出:

['gv', 'jnj', 'klk']

您可以在此使用split() 方法来删​​除不必要的步骤。例如,

term="gv jnj klk"
result = term.split()
print(result)
  

输出:

['gv', 'jnj', 'klk']