Assim como podemos ter condições aninhadas com vários if e else, também podemos ter loops for e while aninhados.
Podemos percorrer o tempo em um dia iterando sobre horas, minutos e segundos:
for h in range(24):
for m in range(60):
for s in range(60):
print(f'Time: {h}:{m}:{s}')
A saída do programa será todos os possíveis registros de horário do dia, como demonstrado à direita.
O loop for começa com h = 0, então usa m = 0, depois itera sobre todos os segundos de 0 a 59 e imprime o horário.
Em seguida, o programa define m = 1 e itera sobre todos os segundos novamente. Então define m = 2 e repete esse processo até alcançar m = 59. Nesse ponto, o segundo loop termina e h torna-se 1. Então, todo o processo de iterar sobre minutos e segundos para h = 1 se repete. h então se torna 2, depois 3, e o ciclo continua até que h alcance 23, m alcance 59 e s alcance 59. Isso encerra os 3 loops juntos.
Para cada linha i, imprimimos usando um loop interno de j in range(i + 1). O símbolo é determinado com base na posição.
Desafio
Inspirado por jogos em 2D, você quer experimentar imprimir algumas formas. Deseja imprimir um triângulo de altura n e largura n, onde, para cada posição, o símbolo impresso será e se a soma de sua linha e coluna for par e o se a soma for ímpar.
Observe que as linhas e colunas começam a contar a partir de 1.
Entrada
Saída
10
e
oe
eoe
oeoe
eoeoe
oeoeoe
eoeoeoe
oeoeoeoe
eoeoeoeoe
oeoeoeoeoe