[英]String index out of range: IndexError
不明白為什么我的索引超出范圍......嘗試通過以下方式找到錯誤: http : //pythontutor.com/visualize.html#mode=display
它“更新”了i和l ,但即使沒有完成這個詞,我也會收到錯誤消息。
我正在嘗試打印每個空格不超過其第 5 個字符的名稱,因此我的預期輸出是:
Rama as
Nemo as
代碼:
spaceNames = ['Rama as', 'Nemo as', 'Siegss as', 'Kama', 'Gray', 'BB', 'BB']
for name in spaceNames:
i=0
for l in name:
if i <= 4 and l[i] == " ":
print(name)
print(i)
i+=1
任何幫助表示贊賞!
對你的程序的一個微不足道的跟蹤,甚至是眼球檢查,都會顯示l
是一個單一的字符。 您使用的索引最多為 3。單個字符只有l[0]
作為合法引用。
我們無法“修復”您的程序,因為我們幾乎不知道您要做什么。
想出如何解決你們所做的兩個評論:
spaceNames = ['Rama as', 'Nemo as', 'Siegss as', 'Kama', 'Gray', 'BB', 'BB']
for name in spaceNames:
i=0
for l in name:
if name.index(l) <=4 and name[i] == " ":
print(name)
i+=1
謝謝!
當您可以更有效地獲得大部分條件時,似乎有很多循環。
spaceNames = ['Rama as', 'Nemo as', 'Siegss as', 'Kama', 'Gray', 'BB', 'BB']
for name in spaceNames:
idx = name.find(' ') # This returns -1 if no space
if idx < 0 or idx > 4:
continue # Skip
print(name)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.