Помощь с кодом ниже с использованием многомерного списка Мне нужно найти каждую строку для символов в массиве и найти слово и вернуть местоположение 1-й буквы. Это отлично работает для одной буквы, но когда я пробую слово, которое начинается с буквы в массиве, но не целое слово, это не работает. Может кто-то мне помочь здесь. Я вижу, что я начинаю с x = word [0], но всякий раз, когда я пытаюсь увеличить значение для x, я должен продолжать испортить. В принципе мне нужно «aca», чтобы вернуть [2, 1], поскольку это начало 1-го символа в слове, но я вводил ara. NONE должен быть возвращаемым значением.многомерный список поиск
def find_word_horizontal(crosswords,word):
word=str(word)
x=word[0]
char=0
crosslen=len(crosswords)
found=False
for row in crosswords:
r=crosswords.index(row)
wordcount=len(word)
for i in range(0, len(row)):
if wordcount<2:
if row[i]==x:
r=crosswords.index(row)
found=True
print([r, i])
return([r, i])
else:
for i in range(0, len(row)):
for let in word:
if row[i]==let and char<=wordcount:
char+=1
if char==wordcount:
t=0
for c in row:
if c==x:
found=True
r=crosswords.index(row)
print([r, t])
return([r, t])
t+=1
char=0
else:
continue
if found==False:
print(None)
return None
crosswords=[['s', 'd', 'o', 'g'], ['c', 'u', 'c', 'm'], ['a', 'c', 'a', 't'], ['t', 'e', 't', 'k']]
word='aca'
find_word_horizontal(crosswords,word)
Добро пожаловать в StackOverflow. Прочтите и следуйте инструкциям по отправке в справочной документации. [Минимальный, полный, проверяемый пример] (http://stackoverflow.com/help/mcve) применим здесь. Мы не можем эффективно помочь вам, пока вы не разместите свой код * и * точно не опишите проблему. «Это не работает» и «Я продолжаю испортить» - это не описание проблем. Однобуквенные имена переменных и отсутствие описательных комментариев оставляют ваш код в качестве игры для угадывания другим. – Prune
Кроме того, почему вы ожидаете [2,1], когда слово начинается с [2,0]? Позиция [2,1] - это «c». Ваш код уже производит [2,0] для чего-либо, начиная с «a» - это начало. – Prune
Вы также можете забрать несколько советов из [Как отладить] (http://ericlippert.com/2014/03/05/how-to-debug-small-programs/). – Prune