TABELA DE PREÇOS EM DÓLARES E REAIS
Luciano Ramalho
Agora vamos mostrar como o interpretador Python é muito mais poderoso que uma calculadora. Imagine que em sua loja de discos importados você tem um balcão de ofertas com discos de $4 até $9. Se quisesse fazer uma tabela de preços em reais você poderia digitar:
>>> 4*d, 5*d, 6*d, 7*d, 9*d
(6.44, 8.05, 9.66, 11.27, 14.49)
>>>
|
Mas isso é um tanto chato e repetitivo, além do que o resultado não é muito apresentável. Em programação, sempre que você fizer algo repetitivo é porque não encontrou ainda a melhor solução. Lidar com séries de números é uma atividade comum, e Python pode ajudar muito nesses casos. Digite o seguinte:
>>> lista = [5,6,7,8,9]
>>> |
Aqui nós criamos uma lista de preços na memória do computador e associamos o nome "lista" a esses dados. Em seguida, digite o seguinte (você terá que teclar [ENTER] duas vezes ao final dessa linha; depois saberá porque).
>>> for p in lista: p * d
8.05
9.66
11.27
12.88
14.49
>>>
|
Aqui nós instruÃmos o interpretador a fazer os seguintes passos:
- para cada item sucessivo da lista:
- associe o nome p ao item em questão
- calcule p * d
Agora digamos que você tem discos com valores de 4 a 15 dólares. Você poderia digitar a lista de novo, mas a coisa começa a ficar repetitiva novamente. Há uma forma melhor. A linguagem Python possui uma palavra chamada "range" que serve para gerar faixas de números. Vamos usar essa palavra. Digite:
>>> range
<built-in function range>
>>>
|
Quando você digita o nome de uma função sem fornecer dados, Python limita-se a dizer a que se refere o nome. Nesse caso: "built-in function range", ou função embutida range. Isso quer dizer que a palavra range é o nome de uma função, um tipo de comando que produz resultados a partir de dados fornecidos. E trata-se ainda de uma função embutida, ou seja, incluÃda no próprio interpretador (a maioria das funções da linguagem Python não são embutidas, mas fazem parte de módulos que o programador precisa chamar explicitamente; isso será explicado depois {*REF}).
Acabamos de dizer que uma função "produz resultados a partir de dados fornecidos", então vamos fornecer algum dado para ver que resultados a função range produz. Digite "range(5)" e veja o que acontece:
>>> range(5)
[0, 1, 2, 3, 4]
>>>
|
Quando apenas um dado é fornecido, range gera uma lista de números de zero até o número anterior ao valor fornecido. É um comportamento um pouco estranho, mas útil em programação (o primeiro item de uma série, na maioria das linguagens, é o item número zero; isso será discutido mais profundamente quando aprendermos mais sobre listas {*REF}).
Agora digamos que eu queira uma sequência a partir de 2, e não zero. Digite:
>>> range(2,5)
[2, 3, 4]
>>>
|
Agora para obter a lista de valores de discos podemos digitar:
>>> range(4,16)
[4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
>>>
|
E usando o comando for, calcular de uma só vez todos os valores convertidos:
>>> for p in range(4,16): p * d
6.44
8.05
9.66
11.27
12.88
14.49
16.1
17.71
19.32
20.93
22.54
24.15
>>>
|
Mas o ideal mesmo era ter os valores em dólares e reais lado a lado. Isso é fácil:
>>> for p in range(4,16): p, p * d
(4, 6.44)
(5, 8.05)
(6, 9.66)
(7, 11.27)
(8, 12.88)
(9, 14.49)
(10, 16.1)
(11, 17.71)
(12, 19.32)
(13, 20.93)
(14, 22.54)
(15, 24.15)
>>>
|
Resumindo o que foi feito até aqui, com apenas duas linhas de código em Python, você pode gerar tabelas de conversão de qualquer tamanho. Experimente:
>>> d = 1.686
>>> for p in range(50,150): p, p * d
|
Parabéns, você acaba de construir seu primeiro programa! 
» Aprenda a programar - capÃtulo 1 »
Copyright © 1999 MAGNET
|