Почему после выполнения if цикл начинает вести отсчёт значений из списка заново

Не подскажете почему в коде ниже каждый раз после выполнения if в for i2 in len_: значения i2 начинают идти заново по массиву len_.

Если что mass - это список который хранит значения от 1 до 33, а mass_3 - имеет некоторые числа, len_ так же хранит некоторые числа, это список, как и mass_3.

len_ = [12, 18, 10, 28, 14, 3, 29, 7, 0, 12, 5, 4, 5, 22, 27, 24, 28, 24, 7, 7, 11, 14, 28, 27, 26, 1, 5, 1, 13, 4, 15, 21, 21, 5, 19, 11, 8, 8, 19, 27, 12, 7, 8, 8, 12, 25, 0, 31, 26, 13, 28, 17, 15, 7, 0, 2, 5, 7, 19, 17, 0, 10, 21, 19, 13, 23, 12, 18, 30, 3, 28, 0, 13, 0, 29, 25, 7, 9, 14, 20, 12, 17, 13, 27, 19, 10, 7, 14, 7, 25, 18, 22, 16, 21, 1, 7, 31, 26, 6, 15, 29, 2, 23, 6, 21, 15, 15, 3, 3, 11, 7, 18, 9, 18, 6, 7, 24, 24, 15, 0, 18, 6, 4, 4, 11, 16, 24, 9, 25, 8, 6, 15, 7, 9, 13, 31, 7, 20, 4, 8, 2, 14, 5, 25, 7, 6, 21, 23, 8, 28, 20, 18, 26, 14, 7, 22, 6, 23, 25, 16, 24, 22, 18, 0, 24, 11, 27, 23, 8, 9, 16, 21, 23, 25, 18, 10, 7, 2, 29, 18, 3, 21, 8, 11, 23, 18, 17, 12, 13, 22, 2, 7, 0, 4, 15, 8]
OpenTxt = "алисаибобзнают"
n = 14
Symbols = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"
mass = []
i5 = 1
i = 1
i1 = 1
f2 = ""

mass_1 = ["_"]
mass_2 = []
mass_3 = []
mass_4 = []

for i1 in len_:
    if len(mass_1) % n == 0:
        break
    else:
        mass_1.append(i1)

while i5 < len(Symbols) + 1:
    mass.append(i5)
    i5 = i5 + 1

for i in mass:
    mass_3.append(["_"])
    for i2 in len_:
        if len(mass_3[i - 1]) % (len(OpenTxt) + 1) == 0:
            continue
        else:
            mass_3[i - 1].append(i2)
        continue

покопался в интернете и нашел следующий код

edibles = ["отбивные", "пельмени","яйца","орехи"]
for food in edibles:
    if food == "пельмени":
        print("Я не ем пельмени!")
        continue
    print("Отлично, вкусные " + food)
    # здесь может быть код для наслаждения едой:-)
else:
    print("Ненавижу пельмени!")
print("Ужин окончен.")

так вот у меня код должен работать по такому принципу, но он работает совершенно по другому и в каждом списке списков находится одно и то же, а не то, что мне надо.


Ответы (1 шт):

Автор решения: passant

Как по мне - последний (второй) continue - ошибочен. Вы просто выскакиваете из внутреннего цикла и начинаете его с начала. Попробуйте его убрать. Впрочем, проверить свою догадку не могу - ваш пример невозможно воспроизвести у себя на компе. Остаются только догадки.

→ Ссылка