它不是 运行 并显示 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']
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']