Alô alô pessoal,
Algum de vocês teve problemas com o teste secreto 23?
Alguma sugestão do que ele pode ser?
Sugestões de contas estranhas (e seus resultados) são sempre bem-vindas <3
Alô alô pessoal,
Algum de vocês teve problemas com o teste secreto 23?
Alguma sugestão do que ele pode ser?
Sugestões de contas estranhas (e seus resultados) são sempre bem-vindas <3
Ois
Eu também tive problema nesse teste, o que me ajudou foi para o caso do exp ser composto por um string de apenas de um número ou um operador ou uma variável. Vê se isso ajuda.
Por outro lado, estou com problemas nos testes secretos 18, 20, 21. Alguém tem alguma sugestão?
Meu falhou no 20 e 21 tbm, no 18 não, o que será hein?
Você testou se no final a pilha tinha 1 item?
Alem desses minha str falhou no teste 1 !! não pode ser, testei com item vazio e tudo mais..
Descobri que o teste secreto 1 do STR é algo que tá fora da especificação, que diz pra imprimirmos os valores se forem int ou float, tava falhando, ai eu botei pra imprimir se for tbm da classe str, e aí passou no teste !
Achei estranho, mas ok...
Opa, eae
Sobre "Você testou se no final a pilha tinha 1 item?" , sim! Inclusive, refiz todos os testes agora do enunciado e outros verificando o tamanho da pilha, e , no final, só ficava com 1 mesmo.
Descobri que o 20 e 21 acontece quando não trata o caso em que vc quer atribuir um valor de uma variavel a outra variavel, eu tratei ai passou (porem começou a falhar no teste 23 !)
exemplo: "a b =" retornava None antes
depois que tratei passou a retornar o valor que estava em b e passou nos 20 e 21...
Em relação a atribuição de um valor de uma variável à outra, o meu programa dá bom, por exemplo
>>> hp = Polonesa()
>>> hp.eval("a 10 =")
10.0
>>> hp.eval("b a =")
10.0
E, mesmo assim, tá dando ruim nos testes 18, 20, 21, x.x. Valeu manin pelas sugestões o/
Aé, o teste 23 resolvi como eu disse na primeira mensagem, para o caso do exp ser uma string de apenas um número, variável ou operador. Por exemplo
>>> hp = Polonesa()
>>> hp.eval("1")
>>> hp.eval("+")
>>> hp.eval("a 10 = ")
10.0
>>> hp.eval("a")
>>>
Alguém tem mais alguma sugestão?
Então, na minha acontece isso:
>>> hp = Polonesa()
>>> hp.eval("1")
1.0
>>> hp.eval("+")
>>> hp.eval("a 10 = ")
10.0
>>> hp.eval("a")
10.0
>>>hp.eval('b')
>>>
>>>
Valeu Pedro!
Consegui corrigir o Ep com a sua dica!
Antes meu programa retornava, para os testes, o seguinte :
>>> hp = Polonesa()
>>> hp.eval("1")
>>> hp.eval("+")
>>> hp.eval("a 10 = ")
10.0
>>> hp.eval("a")
>>>
Agora com ele corrigido, retorna isto :
>>> hp = Polonesa()
>>> hp.eval("1")
1.0
>>> hp.eval("+")
>>> hp.eval("a 10 = ")
10.0
>>> hp.eval("a")
10.0
>>>
Valeu a todos que ajudaram, é nois.
Muito estranho então, porque nesse caso o meu passa,porque tratei. Percebe como parecem erros cruzados?
Olá, gente!
No final das contas, eu não entendi. A expressão
>>> hp = Polonesa()
>>> hp.eval("1")
deve retornar 1 ou None?
Quando vcs mudaram, passaram em mais testes?
Eae Lucas
Quando coloca
>>> hp.eval("1") deve retornar o float correspondente do número!
Antes o meu retornava None, aí dava ruim em alguns testes, como no 18, 20 e 21, quando corrigi, deu bom.
Agora, com o programa passando em todos os testes, ele retorna isso
>>> hp = Polonesa()
>>> hp.eval("1")
1.0
>>> hp.eval("+")
>>> hp.eval("a 10 = ")
10.0
>>> hp.eval("a")
10.0
>>>
Olá pessoas
Então, finalmente descobri o meu problema, que não tinham muito a ver com o que disseram por aqui, mas agradeço muito pela ajuda
O problema que meu teste 23 apresentou foi o seguinte:
Se eu coloco 'a 5 =' a calculadora responde 5.0 e guarda que a vale 5
Mas se pedisse 'a b+', sem ter especificado b, ao utilizar get_val para b, ele retornava None, e então era impossível somar None com um float, e o programa dava erro
Notei isso quando comecei a digitar qualquer coisa no teclado e ver o que a calculadora respondia, e então, depois de ter definido as variáveis a e b, ao digitar alog do tipo:'d c a b+=', o programa retornava None, mas ao pedir c, ele retornava o valor de a+b
Obrigado pela ajuda :D
Buenos Dias programadores,
Alguém teve algum problema com o teste secreto 22? Ja corrigi tipos variados de problema:
Divisão por zero, operações com variaveis não definidas, reatribuição de variaveis... Mas ainda não resolvi especificamente esse teste?
Alguém tem alguma sugestão de entrada, ou algo do tipo?
Gracias
Tambem estou nessa, compañero.
Se descobrir, compartilha com a gente.
Então, entendi bem o que acontece, também percebi que se você não definir o b, quando vier algo do tipo "a b =" o programa retorna None, mas não entendi muito bem o que eu deveria fazer e o que deveria retornar
Bom dia pessoal. Alguem encontrou problemas no teste secreto 05? Único que não passou aqui, sugestôes de expressões para usar?
>>> hp = Polonesa()
>>> hp.eval('11 3 %')
2.0
Valeu! Era nisso mesmo o problema XD