Jump to content

Variável nonetype


fabiodurgante

Recommended Posts

ola tenho o seuinte em uma funcao com thread eecuta varias ao mesmo tempo

lucro += resultado
lucro = round(lucro,2)

e nao tem maneira de conseguir quando executa 2 simultanao sempre da erro

python TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'

o que posso fazer 

if lucro is None :

lucro = 0

nao resolveu meu problema, a variavel lucro esta lucro=0 antes da funcao e nao funciona se nao for simultaneo funciona, somente 2 theads chamando a funcao ai da erro

Link to comment
Share on other sites

Boas, antes de mais duas coisas:

parece que escreveste tudo à pressa e por isso está muito confuso de se ler.

Com o código é mais fácil de perceber o funcionamento do programa.

Sugestão, fazer debug e colocar as variáveis no whatchlist.

O meu palpite é que a variável acaba por passar para string. Podes fazer um print(type(nome_da_variavel)) para confirmares se se mantém em float.

Também podes experimentar colocar um timer para dares tempo ao programa para executar.

Boa sorte.

Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!)

Nunca mais é verão outra vez.. :)

Link to comment
Share on other sites

Boas,

Para complementar a resposta anterior,

Confirma em que linha é que está efetivamente a acontecer o problema, o stacktrace da exceção consegue-te ajudar nisso.

Não sei em que versão do python estás, mas pelo que estou a perceber, quando o operador é '+=' ele mostra isso na exceção, portanto o erro pode não ser aí.

Força nisso

Link to comment
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.