Не зная значений любой из ваших переменных, того, что вы пытаетесь достичь с помощью циклов или что содержат ваши функции, трудно понять, что не так. Это может быть много вещей.
Возможно, вы не выбились из своей секунды за l oop. Возможно, в логике c вашей функции есть изъян.
Возможно также, что вы изменяете значение rows
и затем повторно используете его в следующей итерации для l oop.
Пример:
rows = 5
N = 5
for iterate in range(N):
print(rows)
for rows in range(rows):
Первая итерация for rows in range(rows):
будет равна 5. После этого цикла 5 раз значение rows
будет равно 4, и он будет использовать это в следующий раз он начинает ваше внутреннее для l oop.