Exemplo de execução da calculadora completa (função main()).
Python 3.4.3 (default, Mar 26 2015, 22:03:40)
[GCC 4.9.2] on linux
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
==================================================
C A L C U L A D O R A P O L O N E S A
==================================================
Digite:
- uma expressão em notação infixa como "soma = 2 + 3"; ou
- "ver" para ligar/desligar o modo verboso; ou
- "dic" para exibir o dicionário de variáveis; ou
- "fim" para terminar.
Operadores possíveis:
+ - * / % :cinco operações aritméticas básicas
^ : exponeciação
! : menos unário
= : atribuição
calc >>> 2 ^8 # 2 elevado a 8
256
calc >>> 2 ^!1 # 2 elevado a -1
0.5
calc >>> 2+3 * 4
14
calc >>> 2 ^ 2 ^ 3 # o mesmo que 2 elevado a (2 elevado a 3)
256
calc >>> (2 ^ 2) ^ 3
64
calc >>> ( 2+ 3 )*4
20
calc >>> (2 + 2) * 4 ^ !1
1
calc >>> 2 + 2 * 4 ^ !1
2.5
calc >>> (2 + 2) * 4 ^ 0.5
8
calc >>> ((2 + 2) * 4) ^ 0.5
4
calc >>> a = 5
5
calc >>> a
5
calc >>> b = a + 1
6
calc >>> c = a + b
11
calc >>> c
11
calc >>> prova_1 = 6
6
calc >>> prova_2 = 7
7
calc >>> media = (prova_1 + 2*prova_2) / 3
6.66667
calc >>> media
6.66667
calc >>> i = j = k = 0
0
calc >>> i
0
calc >>> j
0
calc >>> k
0
calc >>> c
11
calc >>> a = b = c + 1
12
calc >>> a
12
calc >>> b
12
calc >>> c
11
calc >>> fim
Curta a nossa página no feiçebuqui.
Python 3.4.3 (default, Mar 26 2015, 22:03:40)
[GCC 4.9.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> ================================ RESTART ================================
>>>
==================================================
C A L C U L A D O R A P O L O N E S A
==================================================
Digite:
- uma expressão em notação infixa como "soma = 2 + 3"; ou
- "ver" para ligar/desligar o modo verboso; ou
- "dic" para exibir o dicionário de variáveis; ou
- "fim" para terminar.
Operadores possíveis:
+ - * / % :cinco operações aritméticas básicas
^ : exponeciação
! : menos unário
= : atribuição
calc >>> ver
AVISO: modo verboso ativado.
calc >>> a = b = c = 1
eval(): string expr = 'a = b = c = 1'
eval(): lista tokens = [V('a'), O('='), V('b'), O('='), V('c'), O('='), N(1)]
lista de tokens: [V('a'), V('b'), V('c'), N(1), O('='), O('='), O('=')]
pilha de execução: []
dicionário de variáveis: {}
modo verboso: ativado
lista de tokens: [V('b'), V('c'), N(1), O('='), O('='), O('=')]
pilha de execução: [V('a')]
dicionário de variáveis: {}
modo verboso: ativado
lista de tokens: [V('c'), N(1), O('='), O('='), O('=')]
pilha de execução: [V('a'), V('b')]
dicionário de variáveis: {}
modo verboso: ativado
lista de tokens: [N(1), O('='), O('='), O('=')]
pilha de execução: [V('a'), V('b'), V('c')]
dicionário de variáveis: {}
modo verboso: ativado
lista de tokens: [O('='), O('='), O('=')]
pilha de execução: [V('a'), V('b'), V('c'), N(1)]
dicionário de variáveis: {}
modo verboso: ativado
lista de tokens: [O('='), O('=')]
pilha de execução: [V('a'), V('b'), N(1)]
dicionário de variáveis: {'c': 1.0}
modo verboso: ativado
lista de tokens: [O('=')]
pilha de execução: [V('a'), N(1)]
dicionário de variáveis: {'c': 1.0, 'b': 1.0}
modo verboso: ativado
lista de tokens: []
pilha de execução: [N(1)]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
1
calc >>> a
eval(): string expr = 'a'
eval(): lista tokens = [V('a')]
lista de tokens: [V('a')]
pilha de execução: []
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: []
pilha de execução: [V('a')]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
1
calc >>> b
eval(): string expr = b
eval(): lista tokens = [V('b')]
lista de tokens: [V('b')]
pilha de execução: []
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: []
pilha de execução: [V('b')]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
1
calc >>> c
eval(): string expr = c
eval(): lista tokens = [V('c')]
lista de tokens: [V('c')]
pilha de execução: []
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: []
pilha de execução: [V('c')]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
1
calc >>> 2 ^ 2 ^ 3
eval(): string expr = '2 ^ 2 ^ 3'
eval(): lista tokens = [N(2), O('^'), N(2), O('^'), N(3)]
lista de tokens: [N(2), N(2), N(3), O('^'), O('^')]
pilha de execução: []
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [N(2), N(3), O('^'), O('^')]
pilha de execução: [N(2)]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [N(3), O('^'), O('^')]
pilha de execução: [N(2), N(2)]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [O('^'), O('^')]
pilha de execução: [N(2), N(2), N(3)]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [O('^')]
pilha de execução: [N(2), N(8)]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: []
pilha de execução: [N(256)]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
256
calc >>> (2 ^ 2) ^ 3
eval(): string expr = '(2 ^ 2) ^ 3'
eval(): lista tokens = [P('('), N(2), O('^'), N(2), P(')'), O('^'), N(3)]
lista de tokens: [N(2), N(2), O('^'), N(3), O('^')]
pilha de execução: []
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [N(2), O('^'), N(3), O('^')]
pilha de execução: [N(2)]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [O('^'), N(3), O('^')]
pilha de execução: [N(2), N(2)]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [N(3), O('^')]
pilha de execução: [N(4)]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [O('^')]
pilha de execução: [N(4), N(3)]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: []
pilha de execução: [N(64)]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
64
calc >>> 2 ^ (a + b)
eval(): string expr = '2 ^ (a + b)'
eval(): lista tokens = [N(2), O('^'), P('('), V('a'), O('+'), V('b'), P(')')]
lista de tokens: [N(2), V('a'), V('b'), O('+'), O('^')]
pilha de execução: []
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [V('a'), V('b'), O('+'), O('^')]
pilha de execução: [N(2)]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [V('b'), O('+'), O('^')]
pilha de execução: [N(2), V('a')]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [O('+'), O('^')]
pilha de execução: [N(2), V('a'), V('b')]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [O('^')]
pilha de execução: [N(2), N(2)]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: []
pilha de execução: [N(4)]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
4
calc >>> c = c + 1
eval(): string expr = 'c = c + 1'
eval(): lista tokens = [V('c'), O('='), V('c'), O('+'), N(1)]
lista de tokens: [V('c'), V('c'), N(1), O('+'), O('=')]
pilha de execução: []
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [V('c'), N(1), O('+'), O('=')]
pilha de execução: [V('c')]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [N(1), O('+'), O('=')]
pilha de execução: [V('c'), V('c')]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [O('+'), O('=')]
pilha de execução: [V('c'), V('c'), N(1)]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [O('=')]
pilha de execução: [V('c'), N(2)]
dicionário de variáveis: {'c': 1.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: []
pilha de execução: [N(2)]
dicionário de variáveis: {'c': 2.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
2
calc >>> c
eval(): string expr = 'c'
eval(): lista tokens = [V('c')]
lista de tokens: [V('c')]
pilha de execução: []
dicionário de variáveis: {'c': 2.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: []
pilha de execução: [V('c')]
dicionário de variáveis: {'c': 2.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
2
calc >>> a = c ^ 0.5
eval(): string expr = 'a = c ^ 0.5'
eval(): lista tokens = [V('a'), O('='), V('c'), O('^'), N(0.5)]
lista de tokens: [V('a'), V('c'), N(0.5), O('^'), O('=')]
pilha de execução: []
dicionário de variáveis: {'c': 2.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [V('c'), N(0.5), O('^'), O('=')]
pilha de execução: [V('a')]
dicionário de variáveis: {'c': 2.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [N(0.5), O('^'), O('=')]
pilha de execução: [V('a'), V('c')]
dicionário de variáveis: {'c': 2.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [O('^'), O('=')]
pilha de execução: [V('a'), V('c'), N(0.5)]
dicionário de variáveis: {'c': 2.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [O('=')]
pilha de execução: [V('a'), N(1.41421)]
dicionário de variáveis: {'c': 2.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: []
pilha de execução: [N(1.41421)]
dicionário de variáveis: {'c': 2.0, 'b': 1.0, 'a': 1.4142135623730951}
modo verboso: ativado
1.41421
calc >>> a
eval(): string expr = 'a'
eval(): lista tokens = [V('a')]
lista de tokens: [V('a')]
pilha de execução: []
dicionário de variáveis: {'c': 2.0, 'b': 1.0, 'a': 1.4142135623730951}
modo verboso: ativado
lista de tokens: []
pilha de execução: [V('a')]
dicionário de variáveis: {'c': 2.0, 'b': 1.0, 'a': 1.4142135623730951}
modo verboso: ativado
1.41421
calc >>> dic
{'c': 2, 'b': 1, 'a': 1.41421}
calc >>> ver
AVISO: modo verboso desativado.
calc >>> ver
AVISO: modo verboso ativado.
calc >>> a =
eval(): string expr = 'a ='
eval(): lista tokens = [V('a'), O('=')]
lista de tokens: [V('a'), O('=')]
pilha de execução: []
dicionário de variáveis: {'c': 2.0, 'b': 1.0, 'a': 1.4142135623730951}
modo verboso: ativado
lista de tokens: [O('=')]
pilha de execução: [V('a')]
dicionário de variáveis: {'c': 2.0, 'b': 1.0, 'a': 1.4142135623730951}
modo verboso: ativado
ERRO: falta(m) operando(s) para processar o operador: =
calc >>> a = 1
eval(): string expr = 'a = 1'
eval(): lista tokens = [V('a'), O('='), N(1)]
lista de tokens: [V('a'), N(1), O('=')]
pilha de execução: []
dicionário de variáveis: {'c': 2.0, 'b': 1.0, 'a': 1.4142135623730951}
modo verboso: ativado
lista de tokens: [N(1), O('=')]
pilha de execução: [V('a')]
dicionário de variáveis: {'c': 2.0, 'b': 1.0, 'a': 1.4142135623730951}
modo verboso: ativado
lista de tokens: [O('=')]
pilha de execução: [V('a'), N(1)]
dicionário de variáveis: {'c': 2.0, 'b': 1.0, 'a': 1.4142135623730951}
modo verboso: ativado
lista de tokens: []
pilha de execução: [N(1)]
dicionário de variáveis: {'c': 2.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
1
calc >>> b = 2
eval(): string expr = 'b = 2'
eval(): lista tokens = [V('b'), O('='), N(2)]
lista de tokens: [V('b'), N(2), O('=')]
pilha de execução: []
dicionário de variáveis: {'c': 2.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [N(2), O('=')]
pilha de execução: [V('b')]
dicionário de variáveis: {'c': 2.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [O('=')]
pilha de execução: [V('b'), N(2)]
dicionário de variáveis: {'c': 2.0, 'b': 1.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: []
pilha de execução: [N(2)]
dicionário de variáveis: {'c': 2.0, 'b': 2.0, 'a': 1.0}
modo verboso: ativado
2
calc >>> c = (a + 1) * b ^ 0.5
eval(): string expr = 'c = (a + 1) * b ^ 0.5'
eval(): lista tokens = [V('c'), O('='), P('('), V('a'), O('+'), N(1), P(')'), O('*'), V('b'), O('^'), N(0.5)]
lista de tokens: [V('c'), V('a'), N(1), O('+'), V('b'), N(0.5), O('^'), O('*'), O('=')]
pilha de execução: []
dicionário de variáveis: {'c': 2.0, 'b': 2.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [V('a'), N(1), O('+'), V('b'), N(0.5), O('^'), O('*'), O('=')]
pilha de execução: [V('c')]
dicionário de variáveis: {'c': 2.0, 'b': 2.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [N(1), O('+'), V('b'), N(0.5), O('^'), O('*'), O('=')]
pilha de execução: [V('c'), V('a')]
dicionário de variáveis: {'c': 2.0, 'b': 2.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [O('+'), V('b'), N(0.5), O('^'), O('*'), O('=')]
pilha de execução: [V('c'), V('a'), N(1)]
dicionário de variáveis: {'c': 2.0, 'b': 2.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [V('b'), N(0.5), O('^'), O('*'), O('=')]
pilha de execução: [V('c'), N(2)]
dicionário de variáveis: {'c': 2.0, 'b': 2.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [N(0.5), O('^'), O('*'), O('=')]
pilha de execução: [V('c'), N(2), V('b')]
dicionário de variáveis: {'c': 2.0, 'b': 2.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [O('^'), O('*'), O('=')]
pilha de execução: [V('c'), N(2), V('b'), N(0.5)]
dicionário de variáveis: {'c': 2.0, 'b': 2.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [O('*'), O('=')]
pilha de execução: [V('c'), N(2), N(1.41421)]
dicionário de variáveis: {'c': 2.0, 'b': 2.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: [O('=')]
pilha de execução: [V('c'), N(2.82843)]
dicionário de variáveis: {'c': 2.0, 'b': 2.0, 'a': 1.0}
modo verboso: ativado
lista de tokens: []
pilha de execução: [N(2.82843)]
dicionário de variáveis: {'c': 2.8284271247461903, 'b': 2.0, 'a': 1.0}
modo verboso: ativado
2.82843
calc >>> ver
AVISO: modo verboso desativado.
calc >>> fim
Curta a nossa página no feiçebuqui.