1
resposta

Olá. No código abaixo feito por um colega, foi dado (lista) como parâmetro para função. No entanto não foi definida essa variável e sim a variável idades. Não entendi como se deu o elo. Obrigado!

def verifica_se_pode_dirigir(lista):
  for n in lista:
    if n >= 18:
      print(f'{n} anos, Tem permissão')
    else:
      print(f'{n} anos, Não tem permissão')
1 resposta

Olá André! Como você está?

Na verdade, não faz diferença o nome que damos para a variável. Essa variável "lista" poderia ter qualquer outro nome.

Por exemplo:

def verifica_se_pode_dirigir(idades):
  for idade in idades:
    if idade >= 18:
      print(f'{idade} anos, Tem permissão')
    else:
      print(f'{idade} anos, Não tem permissão')

No código acima nós temos uma função que é totalmente equivalente a função do seu colega. Ambas devem receber uma lista contendo números (que seriam as idades), e, por meio do laço for, percorrem essa lista para comparar se as idades existentes são maiores ou menores que 18 anos.

A única diferença entre essas funções são os nomes das variáveis, mas essa diferença não torna o funcionamento delas diferentes.

Certo, mas para que essa função seja executada nós precisamos chamá-la e passar a lista que contém as idades, certo? Então, vamos fazer isso:

lista_idades = [18, 22, 15, 50]
verifica_se_pode_dirigir(lista_idades)

Pronto! Agora sim nossa função vai estar em prática. Uma função, mesmo depois de criada, só irá funcionar após chamarmos ela e passarmos os parâmetros necessários para que ela consiga fazer suas tarefas.

Quando fazemos verifica_se_pode_dirigir(lista_idades) estamos chamando a função e passando a lista que ela precisa para funcionar direitinho. É como se acontecesse o seguinte processo:

Imagem dos códigos acima em células do google colab com uma seta vermelha indicando que a variável lista_idades será passada para a variável lista da função verifica_se_pode_dirigir

Ou seja, a variável lista da função, irá receber os valores da variável lista_idades que estamos passando pra ela.

Mas, só pra conferir, bora testar se realmente as duas funções que foram mostradas aqui funcionam da mesma maneira?

Imagem da função mostrada pelo aluno e da função apresentada nesse tópico. As funções foram executadas no google colab, com a lista_idades sendo passada como parâmetro e ambas tiveram o mesmo resultado

E sim, funcionam! Observe que eu declarei a função do seu colega como "verifica_se_pode_dirigir_colega" e a outra como "verifica_se_pode_dirigir". Após passar os mesmos valores para as diferentes funções, podemos perceber que ambas retornaram o mesmo resultado! O que nos mostra que a diferença no nome das variáveis realmente não alterou o funcionamento das funções :)

Espero que isso tenha te ajudado!

Se ficar com alguma dúvida me avisa, tá bom?

Bons estudos!