Отступы для условий while слились с отступами для условий if.
Вы, наверное, табуляцию для отступов используете? Лучше замените ее на пробелы.