Dúvida EP7

Dúvida EP7

by Rony dos Santos Teles -
Number of replies: 5

Nos exemplos, os resultados para números aparecem diferentes do meu código.

 

Abaixo, meu código rodando:

>>> ================================ RESTART ================================
>>>
>>> lista = tokeniza("123")
>>> imprima_tokens(lista)
[N(123.00)]                # onde o exemplo retorna [N(123)]
>>> lista = tokeniza(".5")
>>> imprima_tokens(lista)
[N(0.50)]                   # onde o exemplo retorna [N(0.5)]
>>> lista = tokeniza("12.5")
>>> imprima_tokens(lista)
[N(12.50)]                 # onde o exemplo retorna [N(12.5)]
>>> lista = tokeniza("2")
>>> imprima_tokens(lista)
[N(2.00)]                  # onde o exemplo retorna [N(2)]
>>>
>>> #========================================================================

Devo alterar o programa para bater exatamente com os exemplos?
In reply to Rony dos Santos Teles

Re: Dúvida EP7

by José Coelho de Pina -
Devo alterar o programa para bater exatamente com os exemplos?

Veja a função main() no módulo main.py.
Resolve?

In reply to José Coelho de Pina

Re: Dúvida EP7

by Rony dos Santos Teles -

No main:

>>> ================================ RESTART ================================
>>>
Entre como uma expressão ou tecle apenas ENTER para encerrar.
expressão >>> 123
123 : constante

expressão >>> .5
0.5 : constante

expressão >>> 12.5
12.5 : constante

expressão >>> 2
2 : constante

#===========================================================================

 

Então não preciso corrigir para ficar exatamente da forma que está nos exemplos. Procede?

In reply to Rony dos Santos Teles

Re: Dúvida EP7

by José Coelho de Pina -

No main:...

A função main() imprime 123 e não 123.00.
Como ela faz isso?

In reply to José Coelho de Pina

Re: Dúvida EP7

by Rony dos Santos Teles -

É do uso de %g no lugar de %f ou %d, bem acredito. Então pode-se usar %g também em Token?

In reply to Rony dos Santos Teles

Re: Dúvida EP7

by Rony dos Santos Teles -

Ao que tudo indica sim.
Eu estava pesquisando como lidar com essas diferenças no print dos números pouco antes de enviar a pergunta.

Professor, obrigado. smile