3
respostas

[Dúvida] O gabarito do exercício 14 não está compilando, o que pode ser?

O gabarito da questão 14 da aula 13 deste curso não está compilando, pois está dando o seguinte erro:

ypeError Traceback (most recent call last) in <cell line: 12>() 12 for area, especies in dados.items(): 13 # Fazemos a soma do números de espécies em cada área com a função sum ---> 14 soma_especies = sum(especies) 15 # Calculamos a média dividindo a soma das espécies pela quantidade de espécies 16 media = soma_especies / len(especies)

TypeError: 'int' object is not callable

Como posso corrigi-lo?
3 respostas

Oi, Matheus

Esse aqui: 14)

# Especificamos os dados para um dicionário
dados = {'Área Norte': [2819, 7236],
         'Área Leste': [1440, 9492],
         'Área Sul': [5969, 7496],
         'Área Oeste': [14446, 49688],
         'Área Centro': [22558, 45148]}
# Inicializamos as variáveis
soma_media = 0 # Irá somar todas as médias
maior_diversidade = '' # Irá armazenar a área com maior diversidade
maior_soma = 0 # Irá armazenar a maior soma de espécies 
# Percorremos os valores de chaves e elementos do dicionário
for area, especies in dados.items():
  # Fazemos a soma do números de espécies em cada área com a função sum
  soma_especies = sum(especies)
  # Calculamos a média dividindo a soma das espécies pela quantidade de espécies
  media = soma_especies / len(especies)
  # Imprimimos
  print(f'A {area} tem a média de {media} espécies')
  # Verificamos se a soma das espécies é maior que o valor armazenado de maior_soma
  # Cada vez que a soma_especies superar o valor de maior_soma, 
  # a variável maior_soma vai ser igual à soma_especies, atribuindo um novo valor
  # De forma similar, maior_diversidade também é substituída
  if soma_especies > maior_soma:
      maior_soma = soma_especies
      maior_diversidade = area
  # Somamos as médias
  soma_media += media
# A média total será dada pela soma_media dividida pela quantidade de áreas
media_total = soma_media / len(dados)
print(f'Média geral de espécies: {media_total}')
print(f'Área com a maior diversidade biológica: {maior_diversidade}')
// saída
A Área Norte tem a média de 5027.5 espécies
A Área Leste tem a média de 5466.0 espécies
A Área Sul tem a média de 6732.5 espécies
A Área Oeste tem a média de 32067.0 espécies
A Área Centro tem a média de 33853.0 espécies
Média geral de espécies: 16629.2
Área com a maior diversidade biológica: Área Centro

Pois é, eu copiei essa solução para o Colab mas estou tendo este erro na hora de executar:


TypeError Traceback (most recent call last) in <cell line: 12>() 12 for area, especies in dados.items(): 13 # Fazemos a soma do números de espécies em cada área com a função sum ---> 14 soma_especies = sum(especies) 15 # Calculamos a média dividindo a soma das espécies pela quantidade de espécies 16 media = soma_especies / len(especies)

TypeError: 'int' object is not callable

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software