[英]how to fix list index out of range error in this case?
填字游戲的垂直求解功能, if crosswords[num]==None
的比率,則程序給出列表索引超出范圍
提供該語句以消除此類錯誤
def find_word_vertical(crosswords,word):
word_list=[i for i in word]
l=len(word_list)
index=[]
for col in range(len(crosswords[0])):
for row in range(len(crosswords)):
if word_list[0]==crosswords[row][col]:
num=row
ok=True
for ch in range(l):
if crosswords[num]==None:
break
ok=False
else:
if word_list[ch]==crosswords[num][col]:
num+=1
else:
ok=False
if ok:
return [row,col]
return None
我找不到錯誤,因為該程序針對某些示例測試用例運行,但錯誤顯示在未知的測試用例上。 由於出現“索引不足”錯誤,因此確切的測試用例不會出現在屏幕上。 示例問題= find_word_vertical([['s','d','o','g'],['c','u','c','m'],['a','c','a','t'],['t','e','t','k']],'cat')
if crosswords[num]==None:
break
k=False
該陳述是錯誤的,正確的陳述是:
if num>=len(crosswords):
k=False
break
如果元素在列表中不存在,則它不會返回None而是一個錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.