С чего вы взяли что у вас там что-то не работает?
Во-первых:
Почему цикл if внутри цикла for который находится в цикле while не работает?
if - это не цикл.
Во-вторых, в ытам накосячили с отступами.
В-третьих, в таком спагетти коде не мудрено наделать ошибок, а у вас еще и break встречается то и дело. Нарисуйте блок-схему вашего алгоритма, тогда станет понятнее. А сейчас этот код вообще не читаем, отчего просто бесполезен и должен быть удален и переписан заново.
Попробуйте разбить весь этот код на функции. Функуии должны быть короткие, читабельные и "чистые" (то есть зависеть только от аргументов, а не от внешних и глобальных факторов)