Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Função do append e range

Queria tirar duas dúvidas relacionadas a esse script:

from random import randrange, seed

seed (10)

randrange (0,10)

notas_matematica = []

for notas in range (8):

  notas_matematica.append (randrange (0,10))

eu entendi a estrutura dele. Mas gostaria te entender melhor qual a função do "append" nesse código. Entendi nos módulos anteriores que ele faz o "armazenamento" da lista. A segunda dúvida é nessa parte: "for notas in range (8):" Por que o for chama "in range (8)"? entendi que o range (8) significa que estou mandando o código gerar 8 notas....

Obrigado desde já.

2 respostas
solução!

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!

Perfeito. Muito obrigado pela explicação. compreendi perfeitamente.