Lesson 4
Para loop com alcance
1. Para loop com alcance
Nas lições anteriores, lidamos com programas e condições sequenciais. Muitas vezes o programa precisa repetir alguns bloqueios várias vezes. É aí que os loops são úteis. Há for
e while
operadores de loop em Python, nesta lição cobrimos for
.
for
loop itera sobre qualquer sequência. Por exemplo, qualquer string em Python é uma seqüência de seus personagens, para que possamos interagir sobre eles usando for
:
for character in 'hello': print(character)
Outro caso de uso para um loop for é iterar alguma variável inteira em ordem crescente ou decrescente. Essa sequência de inteiro pode ser criada usando o range(min_value, max_value)
funções range(min_value, max_value)
:
for i in range(5, 8): print(i, i ** 2) print('end of loop') # 5 25 # 6 36 # 7 49 # fim do loop
O range(min_value, max_value)
funções range(min_value, max_value)
gera uma sequência com números min_value
, min_value + 1
, ..., max_value - 1
. O último número não está incluído.
Há uma forma reduzida de intervalo () - range(max_value)
, em cujo caso min_value é implicitamente definido como zero:
for i in range(3): print(i) # 0 # 1 # 2
Desta forma podemos repetir algumas ações várias vezes:
for i in range(2 ** 2): print('Hello, world!')
Mesmo que com if-else, o recuo é o que especifica qual as instruções são controlados por for
e quais não são.
Intervalo () pode definir uma sequência vazia, como range(-5)
ou range(7, 3)
. Neste caso, o for-block não será executado:
for i in range(-5): print('Hello, world!')
Vamos ter um exemplo mais complexo e somar os inteiros de 1 a n, inclusive.
result = 0 n = 5 for i in range(1, n + 1): result += i # este ^^ é a abreviação de # resultado = resultado + i print(result)
Preste atenção que o valor máximo em range () é n + 1
para fazer i
igual a n na última etapa.
Para iterar em uma sequência decrescente, podemos usar uma forma estendida de intervalo () com três argumentos - range(start_value, end_value, step)
. Quando omitido, o passo é implicitamente igual a 1. No entanto, pode ser qualquer valor diferente de zero. O loop sempre inclui start_value e exclui end_value durante a iteração:
for i in range(10, 0, -2): print(i) # 10 # 8 # 6 # 4 # 2
2. definindo a função print ()
Por padrão, a funçãoprint()
imprime todos os seus argumentos separando-os por um espaço e depois coloca um símbolo de nova linha. Esse comportamento pode ser alterado usando os argumentos de palavra-chave sep
(separador) e end
.print(1, 2, 3) print(4, 5, 6) print(1, 2, 3, sep=', ', end='. ') print(4, 5, 6, sep=', ', end='. ') print() print(1, 2, 3, sep='', end=' -- ') print(4, 5, 6, sep=' * ', end='.')