Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Não entendi a função

Não entendi a função abaixo, da aula de "list comprehension". Não entendi a sintaxe mesmo dessa função de média e como ela funciona

def media(lista: list=[0]) -> float:
  ''' Função para calcular a média de notas passadas por uma lista

  lista: list, default [0]
    Lista com as notas para calcular a média
  return = calculo: float
    Média calculada
  '''

  calculo = sum(lista) / len(lista)

  return calculo
1 resposta
solução!

Olá Laura, tudo bem com você?

Vou te explicar com detalhes cada parte da função. Na linha de código abaixo:

def media(lista: list=[0]) -> float:
  • A palavra def é a palavra-chave que define uma função.
  • media é o nome da função.
  • lista é o parâmetro que a função aceita, que deve ser uma lista (list). Por exemplo: [0,1,2,3]
  • O código : list=[0] após a palavra lista é uma anotação de tipo que indica que devemos passar como parâmetro uma lista. Entenda esse código como uma dica do que a função deve aceitar.
  • O código -> float é outra anotação de tipo que indica que a função retornará um número de ponto flutuante ou seja, números com vírgula.

Já o trecho a seguir é o que chamamos de documentação da função ou docstring (comentários), que são informações do que a função contém, como o propósito dela, parâmetros que ela aceita e o que ela retorna:

''' Função para calcular a média de notas passadas por uma lista

  lista: list, default [0]
    Lista com as notas para calcular a média
  return = calculo: float
    Média calculada
  '''

Por fim, o trecho funcional e principal da função é o trecho a seguir:

  calculo = sum(lista) / len(lista)
  return calculo

Onde é realizado o cálculo da média aritmética de uma lista de notas, onde a média é obtida somando todas as notas (sum) e dividindo pelo número total de notas (len(lista)). O resultado é então retornado pela função (return calculo).

Deixo um exemplo simplificado da função, sem o uso da docstring e dicas de tipo:

def media(lista):
  calculo = sum(lista) / len(lista)
  return calculo

Exemplo de chamada:

notas = [10, 5.4, 20]
media(notas)

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade. Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!