填字游戏垂直求解功能,
该程序以'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')
答案 0 :(得分:0)
if crosswords[num]==None:
break
k=False
此陈述有误,正确的陈述是:
if num>=len(crosswords):
k=False
break
如果列表中不存在该元素,则它不会返回None而是一个错误。