Программа не подчиняется коду
фрагмент кода:
for h1 in range(0, 34):
for h2 in range(0, 6):
if z[h1][h2] = 7:
k[7] =h1
print(k[7])
h1 = 34
h2 = 6
Я ищу первую 7-ку в файле. По факту z[4][3] = 7.Разве цикл не должен прекратиться при h1=4, h2=3 ? Я же указываю, что как только находится 7-ка, условия цикла исчерпываются. Но нет, программа не реагирует на z[4][3] = 7, а выдает ответ k[7]=31. Действительно, z[31][6]=7, но почему игнорится z[4][3] = 7 ? Перепробовал все варианты , чтобы она останавливала поиск , h1 = 33, h2 = 5 h1 = 33 h2 = 6 h1 = 32 h2 = 5 - все-равно первую ( и вторую тоже) 7-ку она игнорит, выдает лишь последнюю в [0,34]. Что бы это означало?алгоритм
Ответы (2 шт):
Да, с break
работает.
Вот рабочая программа:
for h1 in range(0, 34):
for h2 in range(0, 6):
if z[h1][h2] = 7:
k[7] =h1
print(k[7])
break
if z[h1][h2] = 7:
break
Моя ошибка была в том, что я использовал break
один раз, а надо было дважды.
for h1 in range(0, 34):
for h2 in range(0, 6):
if z[h1][h2] == 7:
k[7] =h1
break
else:
continue
break
print(k[7])
Но лучше обернуть в функцию и прерывать через return - нагляднее и легче запомнить