Oi Gabrielle. Grato pela atenção.
Sim, eu entendi o passo a passo, mas o que falta é lógica: o 5 deveria entrar, pois não faz sentido o código pular ou suspender o número simplesmente por haver o "if". Nesse sentido, penso que há uma falha, por assim dizer, na própria programação do Python.
Para clarificar o que quero dizer, pense em uma sala de aula em que se ensina matemática aos alunos. Como professor eu peço para começarem do numero 1 e irem adicionando 2. Aí quando os estudantes chegam no 5 eu digo: não, agora ele não entra. Por que? Por que... sim/estou mandando/ ou o código tem que ser assim. Entende? Não faz sentido.
Como o código diz:
contador = 1 #### Começa do número 1
while(contador <= 10): #### Vai até o número 10.
print(contador) #### Imprime número 1
contador = contador + 2 #### 1+2 = 3 [e continua o processo... com 3+2=5]
if(contador == 5): #### chegou no 5!!!! Maravilha!!!!
contador = contador + 2 #### Adiciono 2 ao 5 = 7...
Em resumo: como chega ao número 7(sete) somando apenas 2(dois), uma única vez, ao número 3(três)?
Dúvida complicada, mas antes de saber programar, preciso saber o que é cada função e o porquê dela ser assim.