Dúvida sobre arredondamento

Bom dia pessoal, poderia me tirar uma dúvida sobre arredondamento. Minha função lambda passou no teste, mas quando uso ela no app_execution, mostra um valor quebrado. Alguém poderia dar umas dicas na lógica do funcionamento

Opa, tudo bem?
Pode mandar seu code, para ver como você está implementando?

@Grasshopper49d Não consegui entender direito a sua dúvida, mas estou passando por um problema parecido.

Coloca o código do erro, para a gente ter uma idéia melhor.

Uma dica é que não precisa se preocupar com arredondamento. Deixe os valores no natural de algarismos significativos.

Boa noite!!

Estou tendo problemas com arredondamentos também. E eu não fiz nada pra arredondar as respostas. usei float e num dos casos que recebo erro ao enviar o programa, meu resultado anual dá 38.7128 e ele dá erro porque o resultado de refência (correto) seria 38.7127999999999994.

O que fazer nesse caso?

já consegui resolver o problema, me fala qual o teu problema que te ajudo. Fico no aguardo

Isso é problema de ordenação da multiplicação. Altera a posição dos valores, que irá resolver

1 Curtida

Sério? Então no python a ordem dos fatores altera o produto?

depende dos cálculos, sim. Nesse caso, ele influência. Tem aquela questão de precisão do valor, nos cálculos o python utiliza várias casas decimais

Eu tentei usar arredondamento para corrigir os erros. Mandei considerar 40 casas decimais e o erro continuava.

Aí, matematicamente falando nesse absurdo de que a ordem dos fatores altera o resultado, alterei a ordem dos fatores e… O teste passou!

Valeu pela ajuda!!!

Mas vc usou algo para arredondar? Não utilize, pois na submissão irá falhar, apenas reordenando as posições irá resolver seu problema. Qualquer coisa me chame no chat, que irei te ajudar

Eu estava usando float, sem arredondar nada. E dava errado. Depois tentei usar round(var, 40) pra ver se resolvia. Nada de dar certo. Aí quando você sugeriu de alterar a ordem das coisas, mudei a ordem e deu certo.

Ah, legal, vc fez o certo. Qualquer coisa, só falar

Sim. Valeu pela dica!

Na verdade, não é uma exclusividade do python. Multiplicação com números reais é realmente comutativa, mas com plonto flutuante não é.

https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html

Também consegui aqui, o meu problema é que eu estava interpretando um ponto da equação do custo total, erroneamente.