Valores dos meses do ano (método year())

Olá pessoas,

Alguém poderia dar uma luz aqui?
Minha submissão está falhando no teste “test_year”
O problema está na precisão dos valores, conforme podem ver no log abaixo:

================================== FAILURES ===================================
.codenation\cloud-cost-python\test_submit.py:47: AssertionError: Lists differ: [38.7128, 34.9664, 38.7128, 37.464, 38.7128, 37.[51 chars]7128] != [38.712799999999994, 34.9664, 38.712799999999994[128 chars]9994]

Usando os valores abaixo:
print(cc.year(1))
print(cc.year(50))
print(cc.year(100))
print(cc.year(1000))
print(cc.year(5000))

Meu resultado está assim:
[0.0387128, 0.0349664, 0.0387128, 0.037464, 0.0387128, 0.037464, 0.0387128, 0.0387128, 0.037464, 0.0387128, 0.037464, 0.0387128]
[1.93564, 1.74832, 1.93564, 1.8732, 1.93564, 1.8732, 1.93564, 1.93564, 1.8732, 1.93564, 1.8732, 1.93564]
[3.87128, 3.49664, 3.87128, 3.7464, 3.87128, 3.7464, 3.87128, 3.87128, 3.7464, 3.87128, 3.7464, 3.87128]
[38.7128, 34.9664, 38.7128, 37.464, 38.7128, 37.464, 38.7128, 38.7128, 37.464, 38.7128, 37.464, 38.7128]
[193.564, 174.832, 193.564, 187.32, 193.564, 187.32, 193.564, 193.564, 187.32, 193.564, 187.32, 193.564]

Pelo que entendi, o test_year verifica com uma precisão maior para alguns valores. Tentei usar o Decimal, mas também nao deu certo.
Alguém teria alguma sugestão?

Bom domingo…

Eric

Boa noite @Canida98,

Teu problema está quando utilizas 1000 como o número de requisições. Não vejo erro nos teus resultados, mas há pessoas reclamando da precisão dos testes de validação.
No meu caso a minha saída foi essa:
[38.712799999999994, 34.9664, 38.712799999999994, 37.464, 38.712799999999994, 37.464, 38.712799999999994, 38.712799999999994, 37.464, 38.712799999999994, 37.464, 38.712799999999994]
e não tive problemas.
Tenta submeter de novo, já que algumas pessoas que estavam reclamando da precisão estão conseguindo submeter agora.

Boa sorte!

1 Curtida

Oi @Jellyfish228,

Fiz algumas modificações mas continua com o mesmo problema. Tentei submeter ontem mas sem sucesso ainda. Você está usando algum tipo de dados diferente (Ou alguma forma de cálculo diferente)? O @Muskox23e (acho que é esse o usar dele), o mentor da aceleração no momento, ficou de ver isso com o pessoal responsável pelo desafio.

[]s

Eric

Fale @Canida98,

Cara, eu vi uns códigos que, na função month, calculam primeiro a quantidade de requisições por mês para passarem o valor para app_execution, enquanto eu passei as requisições diárias para app-execution e multipliquei pelo número de dias do mês. Conceitualmente são a mesma coisa, mas uma delas deve estar levando a um erro numérico.
Testa as duas abordagens e vê no que dá!

Boa sorte!

Eu estava com esse mesmo problema. Refiz a função do zero de uma outra forma sem decimal e sem round e passou na submissão.

Valeu pessoal! Tirei os dias de dentro da chamada do app_execution e passou…

2 Curtidas