domingo, 3 de maio de 2015

Python para Testers 4 – Números e números Parte I



Não adianta fugir deles, uma bela hora os números serão necessários. Sendo assim, vamos já conhecer os tipos numéricos e as operações a serem feitas com eles em Python.

Tipos de Números
Existem três tipos numéricos em Python: Integer, Float e Long. Os integer (inteiros) são os que mais usamos.  Os float são os famosos "números quebrados" e os long são também números inteiros, a diferença é que eles são virtualmente ilimitados, ou seja, vai impor um limite aqui é a quantidade de memória do computador.
Dito isso vamos às operações.


Operações
O Python tem uma série de operadores definidos para manipular números através de cálculos aritméticos:
▪ Soma (+).
▪ Diferença (-).
▪ Multiplicação (*).
▪ Divisão (/): entre dois inteiros funciona igual à divisão inteira.
▪ Divisão inteira (//): o resultado é truncado para o inteiro imediatamente inferior.
▪ Módulo (%): retorna o resto da divisão.

Expressões
Expressão é algo como “1-7+9”, ou algo como (7*9)+((45-9)%8)-787.  Sim, é o mesmo conceito que aprendemos lá na saudosa sexta série. E de lá mesmo vamos relembrando as regras de precedência de operadores:

● Parênteses têm a mais alta precedência e podem ser usados para forçar uma expressão a ser avaliada na ordem que você quiser. Já que expressões entre parênteses são avaliadas primeiro, 2 * (3-1) é 4, e (1+1)**(5-2) é 8. Você também pode usar parênteses para tornar uma expressão mais fácil de ler, como em (minuto * 100) / 60, ainda que isso não altere o resultado.

● Exponenciação ou potenciação tem a próxima precedência mais alta, assim 2**1+1 é 3 e não 4, e 3*1**3 é 3 e não 27.

● Multiplicação e Divisão têm a mesma precedência, que é mais alta do que a da Adição e da Subtração, que também têm a mesma precedência. Assim 2*3-1 dá 5 em vez de 4, e 2/3-1 é -1, não 1 (lembre-se de que na divisão inteira, 2/3=0).

● Operadores com a mesma precedência são avaliados da esquerda para a direita. Assim, na expressão minuto*100/60, a multiplicação acontece primeiro, resultando em 5900/60, o que se transforma produzindo 98. Se as operações tivessem sido avaliadas da direita para a esquerda, o resultado poderia ter sido 59*1, que é 59, que está errado.

Bibliografia:

Como pensar como um cientista da Computação usando Python –(traduzido pelo projeto Pensar Python - http://eltonminetto.net/docs/pythontut.pdf)

Respostas do post anterior
https://drive.google.com/file/d/0BxOATl5oJZ-AU09rbVgtQ3NJRzQ/view?usp=sharing

terça-feira, 31 de março de 2015

Python para Testers 3 – Variáveis



Uma variável é uma forma de armazenar um dado dando a ele um nome específico. Por exemplo, o dado “tato” pode ganhar o nome de “sentido”, assim, “sentido” é uma variável.
Em Python a sintaxe para declara a variável do exemplo é a seguinte:
 Sentido = 'tato'

Existem quatro tipos básicos de variáveis:
        int - Um número inteiro
        float - Um ponto flutuante
        string - Uma sequência de caracteres
·         Booleano - Ele pode ter apenas dois valores True (Verdadeiro) ou False (Falso).

Ao contrário da maioria das outras linguagens, em Python, não é necessário declarar as variáveis que serão usadas, tampouco definir seu tipo. A própria sintaxe do dado  ser armazenado identifica o tipo da variável para armazená-lo.
Por exemplo, caso se  deseje  atribuir o valor 3 à variável A, basta digitar
A=3.
Python saberá que A é um inteiro(tipo “ int “).

 Por outro lado, se o valor a ser armazenado fosse 3,2 que é um dado do tipo “ponto flutuante”, este deveria ser expresso como :
A=3.2.

Observe que, para Python, A=3 e B=3.0 são variáveis de tipos diferentes e isto deve ser levado em conta ao se realizar certos tipos de manipulações de dados.

Exercício 1:
Atribua os valores seguintes às variáveis correspondentes:
7 à variável my_int
1.23 à variável my_float
True à variável my_bool

Ps: a resposta do exercício virá no próximo post.

Manipulando Strings 

String é um tipo de objeto formado por uma sequência imutável de caracteres que nos permite trabalhar com textos.
Digite o exemplo abaixo para melhor entendimento:
>> a = “Bom dia”
>> print a
               
Elas são delimitadas por aspas, podemos utilizar tanto aspas duplas como as simples. Se utilizarmos aspas duplas, como o mostrado no exemplo acima, podemos usar as simples para aplicações dentro do texto que estamos escrevendo, o contrário também é verdadeiro.
Digite o exemplo abaixo para melhor entendimento:

>>> b = 'O lema do governo JK era:\n “Cinquenta anos em cinco.”’
>>> print b

No exemplo acima utilizamos um outro artifício para trabalharmos com strings, o \n.
Este por sua vez, tem a função de pular uma linha e escrever o texto, que está depois do \n, nessa nova linha.
Outra possibilidade de uso para a stings é a concatenação de textos.

Digite o exemplo abaixo para melhor entendimento:
linha1 = "Estudando Phyton "
linha2 = "Com dicas e exercícios!"
linha3 = "Vamos Lá!"
print(linha1 + linha2 + linha3)

Será impresso um uma única linha contendo as três variáveis
Outro exemplo de  manipulação: quando usamos o comando print, tudo o que estiver entre as três aspas será impresso exatamente da mesma forma como foi escrito:

Digite o exemplo abaixo para melhor entendimento:
>>> a =  “ Quatro times do Rio de Janeiro:
Botafogo
Vasco
Fluminense
Flamengo”
>>> print a

Exercício 2
Imprima o texto a seguir usando as três formas  vistas: concatenado, usando \n  e usando somente as aspas:

No meio do caminho

No meio do caminho tinha uma pedra
tinha uma pedra no meio do caminho
tinha uma pedra
no meio do caminho tinha uma pedra.

Nunca me esquecerei desse acontecimento
na vida de minhas retinas tão fatigadas.
Nunca me esquecerei que no meio do caminho
tinha uma pedra
tinha uma pedra no meio do caminho
no meio do caminho tinha uma pedra


Bibliografia:
Aprenda os fundamentos de programação para construir aplicativos web e manipular dados.: CodeCademy : http://www.codecademy.com/pt-BR/tracks/python
Tutorial de Introdução ao Python - Programa de Educação Tutorial Grupo PET-Tele:
Aulas de  Python – Infog: http://blog.evaldojunior.com.br/aulas-de-python.html