Oii Fellipe, tudo bem contigo?
Entendendo o range(8)
O range serve para criar uma sequência de números de acordo com os parâmetros que passamos pra ele.
Por exemplo, se colocarmos o seguinte código em uma célula e executá-lo:
range(8)
Vamos ter o resultado:
range(0, 8)
Esse resultado, está especificando que ao utilizar o código range(8)
será criada uma lista com 8 números sequenciais a partir de 0, ou seja, algo como [0, 1, 2, 3, 4, 5, 6, 7]
. E como podemos fazer para visualizar todos os números dessa sequência? Podemos utilizar um for
:
for numero in range(8):
print(i)
Resultado:
0
1
2
3
4
5
6
7
O que nós fizemos com esse for numero in range(8)
foi basicamente criar uma variável chamada numero
que em cada nova iteração do for
era responsável por representar cada um dos números presentes no range(8)
.
Dessa forma, nós podemos dizer também que esse for i in range(x)
serve como um contador, ou seja, utilizando esse estilo de código nós podemos definir quantas vezes queremos que o código dentro de um laço for
seja executado. E esse é exatamente o caso da função inicial que você compartilhou, quando fazemos:
for notas in range(8):
notas_matematica.append(randrange (0,10))
Estamos especificando que queremos que o código existente dentro do for
, que seria o notas_matematica.append(randrange (0,10))
seja executado 8 vezes e, portanto, 8 notas sejam adicionadas a lista notas_matematica
.
Funcionamento do append
O append
é um método utilizado para adicionar itens a uma lista já existente. Por exemplo, no código em questão:
for notas in range(8):
notas_matematica.append(randrange (0,10))
Como nós entedemos anteriormente, o código dentro do for
será executado 8 vezes conforme definimos no range
. E a cada vez que esse código for executado, um novo valor aleatório entre 0 e 10
será adicionado a lista notas_matematica
. Para conseguirmos visualizar cada um desses valores sendo adicionados à lista de forma dinâmica, podemos acrescentar um print
no código:
for notas in range(8):
notas_matematica.append(randrange (0,10))
print(notas_matematica)
Resultado:
[0]
[0, 6]
[0, 6, 7]
[0, 6, 7, 9]
[0, 6, 7, 9, 0]
[0, 6, 7, 9, 0, 3]
[0, 6, 7, 9, 0, 3, 7]
[0, 6, 7, 9, 0, 3, 7, 7]
Assim nós podemos confirmar que a cada nova iteração do laço for
será adicionado um novo valor à lista notas_matematica
.
Espero ter ajudado. Qualquer dúvida estou à disposição :)
Bons estudos!