Oii, Estudante.
Boa observação, e ela mostra justamente que você tá pensando sobre a linguagem, não só copiando código. Isso é um sinal muito positivo na sua trajetória.
O que você percebeu não é dificuldade sua, é diferença de filosofia entre as linguagens.
No VBA (e em muitas linguagens mais antigas), a estrutura do código é marcada por palavras de abertura e fechamento:
If ... Then - End IfFor ... - NextDo - Loop
Isso deixa tudo muito explícito: você abre um bloco e precisa fechá-lo manualmente.
Já o Python segue uma ideia diferente:
ele usa indentação (recuo do código) pra definir onde um bloco começa e termina.
Por exemplo, em Python:
if algo == alguma_coisa:
print("aconteceu algo")
else:
print("não aconteceu")
Aqui:
- O
: indica que um bloco vai começar - Tudo que estiver indentado pertence a esse bloco
- Quando a indentação acaba, o bloco acaba automaticamente
Ou seja, em Python você não fecha com palavras, você “fecha” ao voltar o código para a margem esquerda.
O mesmo vale para laços:
while True:
for x in range(1, 14):
print(x)
Quando você sai da indentação, o Python entende que o for e o while terminaram.
Isso pode causar estranhamento no início, especialmente vindo do VBA, mas tem um motivo importante:
o Python força o código a ser visual e organizado.
Se está dentro do bloco, está mais à direita. Se não está, acabou.
Se você já entende if, else, for, funções e está comparando linguagens, você já sabe programar em nível iniciante consciente. Não é pouco. O resto é prática e tempo.
Continue observando, comparando e questionando como você fez aqui. Essa postura vale mais do que decorar sintaxe. Você está no caminho certo.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!