Capa
Seções
NOTÍCIAS

DOWNLOAD

ANÁLISES

COMPRAS

BOLETIM

WIRED NEWS

IDG NOW!

PC WORLD

AJUDA

COLUNISTAS


 digite + enter


UMA CALCULADORA MELHOR
Luciano Ramalho

Vamos então aproveitar a deixa e escrever algo. Experimente escrever uma expressão aritmética bem simples, como 2+2:


>>> 2+2
4
>>>

A resposta é reconfortante: para Python, 2+2 é igual a 4. Você pode experimentar outras expressões mais complexas, mas é bom saber que os quatro operadores básicos em Python (e em quase todas as linguagens modernas) são esses:

+ adição
- subtração
* multiplicação
/ divisão

Se você quiser operar com números decimais, deve usar o ponto e não a vírgula como separador decimal:


>>> 1.23 * 0.45
0.5535
>>>

Em muitas linguagens de programação, assim como em Python, os números inteiros têm um tratamento especial. Isso fica evidente quando fazemos uma divisão:


>>> 7/2
3
>>>

Em vez de 3,5, o resultado foi 3. Isso acontece sempre que todos os números de uma expressão são inteiros. Neste caso, Python imagina que se deseja um resultado inteiro também (esse comportamento estranho na realidade é muito conveniente em programação). Para indicar que você deseja resultados não-inteiros, use um ponto decimal em algum dos operandos:


>>> 7.0/2
3.5
>>> 7/2.0
3.5
>>> 7/2.
3.5
>>>

Note que basta digitar um ponto após o número.

Você pode digitar espaços entre os números e operadores para fazer uma expressão longa ficar mais legível. Veja esse exemplo:


>>> 1 + 2 * 3
7
>>>

Note que o interpretador Python é mais esperto que uma calculadora comum. Ele sabe que a multiplicação deve ser efetuada antes da adição. Se você teclar a mesma expressão em uma calculadora qualquer obterá o resultado 9, que é incorreto. Em Python, se você realmente deseja efetuar a soma antes da multiplicação, precisa usar parênteses:


>>> (1 + 2) * 3
9
>>>

Ao contrário do que você aprendeu na escola, aqui os símbolos [] e {} não servem para agrupar expressões dentro de outras expressões. Apenas parênteses são usados:


>>> ( 9 - ( 1 + 2 ) ) / 3.0
2.0
>>> ( 9 - 1 + 2 ) / 3.0
3.33333333333
>>>

DICA: Se você escrever algo que o interpretador não reconhece, verá na tela uma mensagem de erro. Não crie o mau hábito de ignorar essas mensagens, mesmo que elas pareçam difíceis de entender num primeiro momento. A única vantagem de cometer erros é aprender com eles, e se a preguiça o impedir de ler as mensagens, seu aprendizado será bem mais lento.

Como ler uma mensagem de erro

A dura realidade é que um programador profissional passa boa parte de sua vida caçando erros, e por isso é fundamental saber extrair o máximo de informações das mensagens resultantes.

A essa altura você talvez já tenha provocado um erro para ver o que acontece. Vamos fazer isso agora, e aprender a ler as mensagens resultantes. Pode parecer perda de tempo, mas é importantíssimo saber interpretar as mensagens de erro porque a melhor forma de aprender a programar é experimentando, e ao experimentar você certamente vai provocar muitos erros.

Como exemplo, vamos digitar uma expressão aritmética sem sentido:

No interpretador IDLE você verá apenas o sinal de divisão assinalado em vermelho e a mensagem “SyntaxError: invalid syntax”, erro de sintaxe inválida.

No interpretador de linha de comando você verá uma mensagem mais longa:


>>> 7 + / 2
  File "", line 1
    7 + / 2
        ^
SyntaxError: invalid syntax
>>>

A primeira linha da mensagem de erro informa o arquivo onde ocorreu o erro: File "", line 1

Quando você está usando o interpretador em modo interativo essa informação é inútil, mas ao trabalhar com programas extensos ela se torna indispensável. As próximas duas linhas indicam onde ocorreu o erro:


    7 + / 2
        ^

Note que o símbolo ^ está apontando exatamente a posição do sinal /. Foi a partir desse ponto que a expressão deixou de fazer sentido para o interpretador.

Agora vamos provocar um outro tipo de erro:


>>> 7/0
Traceback (innermost last):
  File "", line 1, in ?
    7/0
ZeroDivisionError: integer division or modulo
>>>

Só mais tarde poderemos explicar completamente a primeira linha de uma mensagem como essa, mas a parte mais importante é a última linha, que nesse caso é bem fácil de entender: ZeroDivisionError: integer division or modulo

Do lado esquerdo aparece o nome do erro:“ZeroDivisionError”, ou erro de divisão por zero. Após o sinal “:” vem informações adicionais sobre o contexto onde ocorreu o erro: em uma divisão inteira ou modulo (em inglês, modulo é o nome do operador %, que apresentamos acima). O / e o % são os dois operadores que podem causar um ZeroDivisionError.

MAGNET

» Conversor de dólares »

Copyright © 1999 MAGNET
Introdução

Python: Material necessário

Abrindo e fechando o interpretador

Uma calculadora melhor

Conversor de dólares

Tabela de preços em dólares e reais

Copyright© 1996 - 2003 Terra Networks S.A. Todos os direitos reservados. All rights reserved.