Utilizando o Python como calculadora
Esse artigo é uma tradução do artigo "An Informal Introduction to Python" (Uma introdução informal ao Python), feita por Gabriel Gomes de Almeida, Analista Junior de Redes e Sistemas Linux.
Parte 2: Usando Python como calculadora
Vamos tentar alguns comandos simples do Python. Inicie o interpretador e aguarde pelo prompt primário, ">>> " (isso não deve demorar).
Números:
O interpretador atua como uma calculadora simples: você pode digitar uma expressão nele e ele imprimirá o resultado. A sintaxe da expressão é simples: os operadores +, -, *, /, trabalham assim como na maioria das outras línguas (Pascal e C, por exemplo); parêntesis podem ser usados para agrupamentos. Por exemplo:
>>> 2+2
4
>>> # This is a comment
... 2+2
4
>>> 2+2 # and a comment on the same line as code
4
>>> (50-5*6)/4
5
>>> # Integer division returns the floor:
... 7/3
2
>>> 7/-3
-3
O sinal de igual ("=") é utilizado para atribuir valor a uma variável. Depois, sem resultados, é exibido antes do próximo comando interativo:
>>> width = 20
>>> height = 5*9
>>> width * height
900
Um valor pode ser atribuído a diversas variáveis simultaneamente:
>>> x = y = z = 0 # Zero x, y and z
>>> x
0
>>> y
0
>>> z
0
Há suporte completo a pontos flutuantes (float); operadores com operandos mistos convertem o operando inteiro para ponto flutuante:
>>> 3 * 3.75 / 1.5
7.5
>>> 7.0 / 2
3.5
Números complexos também são suportados. Números imaginários são escritos com o sufixo "j" ou "J". Números complexos com um component não-zero são escritos como ("real+imagj"), ou podem ser criados com a função complexa ("real, imag").
>>> 1j * 1J
(-1+0j)
>>> 3+1j*3
(3+3j)
>>> (3+1j)*3
(9+3j)
>>> (1+2j)/(1+1j)
(1.5+0.5j)
Números complexos são sempre representados como dois números em ponto flutuante, a parte real e a parte imaginária. Para extrair essas partes de um número complexo 'z', utilizamos z.real e z.imag.
>>> a=1.5+0.5j
>>> a.real
1.5
>>> a.imag
0.5
As funções de conversão de ponto flutuante e inteiro (float(), int (), e long() ) não trabalham com números complexos --- não há uma maneira de converter um número complexo em um número real. Use abs (z) para obter a sua amplitude (como um fundo de tesouraria) ou z.real para obter a sua parte real.
>>> a=3.0+4.0j
>>> float(a)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: can't convert complex to float; use abs(z)
>>> a.real
3.0
>>> a.imag
4.0
>>> abs(a) # sqrt(a.real**2 + a.imag**2)
5.0
>>>
No modo interativo, a última expressão impressa é atribuída à variável _. Isso significa que quando você estiver usando o Python como uma calculadora de mesa, é um pouco mais fácil para continuar cálculos, por exemplo:
>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06
>>>
Esta variável deve ser tratada como "somente leitura" pelo usuário. Não explicitamente atribuir um valor a ela -- você iria criar uma variável local independente com o mesmo nome mascarando as variáveis embutidas com o mesmo comportamento.
Números:
O interpretador atua como uma calculadora simples: você pode digitar uma expressão nele e ele imprimirá o resultado. A sintaxe da expressão é simples: os operadores +, -, *, /, trabalham assim como na maioria das outras línguas (Pascal e C, por exemplo); parêntesis podem ser usados para agrupamentos. Por exemplo:
>>> 2+2
4
>>> # This is a comment
... 2+2
4
>>> 2+2 # and a comment on the same line as code
4
>>> (50-5*6)/4
5
>>> # Integer division returns the floor:
... 7/3
2
>>> 7/-3
-3
O sinal de igual ("=") é utilizado para atribuir valor a uma variável. Depois, sem resultados, é exibido antes do próximo comando interativo:
>>> width = 20
>>> height = 5*9
>>> width * height
900
Um valor pode ser atribuído a diversas variáveis simultaneamente:
>>> x = y = z = 0 # Zero x, y and z
>>> x
0
>>> y
0
>>> z
0
Há suporte completo a pontos flutuantes (float); operadores com operandos mistos convertem o operando inteiro para ponto flutuante:
>>> 3 * 3.75 / 1.5
7.5
>>> 7.0 / 2
3.5
Números complexos também são suportados. Números imaginários são escritos com o sufixo "j" ou "J". Números complexos com um component não-zero são escritos como ("real+imagj"), ou podem ser criados com a função complexa ("real, imag").
>>> 1j * 1J
(-1+0j)
>>> 3+1j*3
(3+3j)
>>> (3+1j)*3
(9+3j)
>>> (1+2j)/(1+1j)
(1.5+0.5j)
Números complexos são sempre representados como dois números em ponto flutuante, a parte real e a parte imaginária. Para extrair essas partes de um número complexo 'z', utilizamos z.real e z.imag.
>>> a=1.5+0.5j
>>> a.real
1.5
>>> a.imag
0.5
As funções de conversão de ponto flutuante e inteiro (float(), int (), e long() ) não trabalham com números complexos --- não há uma maneira de converter um número complexo em um número real. Use abs (z) para obter a sua amplitude (como um fundo de tesouraria) ou z.real para obter a sua parte real.
>>> a=3.0+4.0j
>>> float(a)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: can't convert complex to float; use abs(z)
>>> a.real
3.0
>>> a.imag
4.0
>>> abs(a) # sqrt(a.real**2 + a.imag**2)
5.0
>>>
No modo interativo, a última expressão impressa é atribuída à variável _. Isso significa que quando você estiver usando o Python como uma calculadora de mesa, é um pouco mais fácil para continuar cálculos, por exemplo:
>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06
>>>
Esta variável deve ser tratada como "somente leitura" pelo usuário. Não explicitamente atribuir um valor a ela -- você iria criar uma variável local independente com o mesmo nome mascarando as variáveis embutidas com o mesmo comportamento.
12
???????
Assim como em muitas calculadoras do Linux e como no próprio C lido com %i, se um numero começa com 0 ele entende ser octal. 010 em octal é 8. O mesmo para 0x:
>>> 010 + 0xa
18
Agora foram somados 8 (010) com 10 (0xa -> 10 em hexa)