Нет, не верно, что любой цикл по переменной можно заменить циклом с условием. Например, цикл for, который итерируется определенное количество раз, не может быть заменен циклом с условием, так как цикл с условием работает до тех пор, пока заданное условие истинно.
Обратное утверждение также неверно. Не все циклы с условием могут быть заменены циклом по переменной. Например, цикл while(True), который работает бесконечно, не может быть заменен циклом по переменной, так как цикл по переменной всегда имеет конечное количество итераций.