Oi, Carlos! Como você está?
Esses critérios foram adicionados em nosso programa devido às regras de definição de um ano bissexto:
Todo ano divisível por 4 é bissexto;
Porém, todo ano divisível por 100 não é bissexto;
Só que todo ano divisível por 400 é bissexto.
Nesse sentido, quando escrevemos ano % 4 == 0 and (ano % 400 == 0 or ano % 100 != 0)
, estamos nos certificando de que o ano é divisível por 4 e se é divisível por 400 ou não é divisível por 100. Se essas condições forem verdadeiras, o ano é bissexto!
Para visualizar melhor essas questões, podemos observar os anos 2000 e 1900: o ano 2000 é bissexto porque ele é divisível por 4 e por 400. Mas o ano 1900, embora seja divisível por 4, não é bissexto porque ele é divisível por 100 e não é divisível por 400.
Espero ter ajudado, Carlos! Se surgirem novas dúvidas, fico à disposição.
Um abraço.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!