1
resposta

função media

quando eu tento criar um função ela retorna erros falando por exemplo TypeError: 'str' object cannot be interpreted as an integer

o que eu estou fazendo de errado? ou o que está faltando na minha função?

função :::::: def media(): valor = input('insira um valor diferente de 0 para calcular a media') if(valor == 0): print('Valor inserido igual a 0. Insira um novo valor.') valor = input('Insira um novo valor') valores = list(range(valor)) for valor in valores: media += valor return print('A media é' + media/len(valores)) OBS: eu sei que compliquei um pouco so para tirar a media de alguns valores, mas eu queria saber no que estou errando o erro que está aparecendo é esse...

isira um valor diferente de 0 para calcular a media5

TypeError Traceback (most recent call last) in () ----> 1 media()

in media() 4 print('Valor inserido igual a 0. Insira um novo valor.') 5 valor = input('Insira um novo valor') ----> 6 valores = list(range(valor)) 7 for valor in valores: 8 media += valor

TypeError: 'str' object cannot be interpreted as an integer

1 resposta

João, basicamente você está comparando uma string (valor) com um inteiro (0). Para você fazer essa conversão use o trecho de código abaixo para pegar o valor digitado pelo usuário:

valor = int(input('Insira um novo valor'))

Isso converte o valor do input(string) para um inteiro.

Caso isso resolva o seu problema, por favor, marcar como solução para que a questão saia da lista de questões sem respostas.

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