segunda-feira, 24 de agosto de 2015

Python para Testers 10 – E os vetores?

Vetores são “agregados homogêneos unidimensionais” ou “variáveis compostas unidimensionais”. Vetores é um conjunto de dados referenciados por um mesmo nome e controlados por um único índice.
Exemplo:
Definir um vetor “nota” de tamanho 5 de tipo inteiro.
nota = [60, 95, 80, 50, 98]


Listas:
Em Python os vetores são chamados de lista. Vejamos as operações mais comuns com listas:

A função enumerate() retorna uma tupla de dois elementos a cada iteração: um número sequencial e um item da sequência correspondente.
Tulpas
Semelhantes às listas, porém são imutáveis: não se pode acrescentar, apagar ou fazer atribuições aos itens.
Sintaxe:
tupla = (a, b, ..., z)
Os parênteses são opcionais.
Particularidade: tupla com apenas um elemento é representada como:
t1 = (1,)
Os elementos de uma tupla podem ser referenciados da mesma forma que os elementos de uma lista:
primeiro_elemento = tupla[0]
Listas podem ser convertidas em tuplas:
tupla = tuple(lista)
E tuplas podem ser convertidas em listas:
lista = list(tupla)
Dicionários
Um dicionário é uma lista de associações compostas por uma chave única e estruturas correspondentes. Dicionários são mutáveis, tais como as listas.
A chave precisa ser de um tipo imutável, geralmente são usadas strings, mas também podem ser tuplas ou tipos numéricos. Já os itens dos dicionários podem ser tanto mutáveis quanto imutáveis. O dicionário do Python não fornece garantia de que as chaves estarão ordenadas.
Sintaxe:
dicionario = {'a': a, 'b': b, ..., 'z': z}
Exemplo de dicionário:
dic = {'nome': 'Shirley Manson', 'banda': 'Garbage'}
Acessando elementos:
print dic['nome']
Adicionando elementos:
dic['album'] = 'Version 2.0'
Apagando um elemento do dicionário:
del dic['album']
Obtendo os itens, chaves e valores:


Bibliografia:
Borges, L. E. – Python para desenvolvedores - http://ark4n.wordpress.com/python/



domingo, 16 de agosto de 2015

Python para testers 9 - Doc Strings

Revisando o conteúdo da série até o dia de hoje, percebi que não falamos sobre Doc Strigs. Vamos, então, corrigir tal falha.
Doc Strings são strings que estão associadas a uma estrutura do Python. Nas funções, as Doc Strings são colocadas dentro do corpo da função, geralmente no começo. O objetivo das Doc Strings é servir de documentação para aquela estrutura.
Vejamos um exemplo: Série de Fibonacci sem recursão:

Então é isso, elas servem para documentar o código, faça uso delas!
Bibliografia:
Borges, L. E. – Python para desenvolvedores - http://ark4n.wordpress.com/python/

Resposta do Post Anterior:
https://drive.google.com/file/d/0ByoXb8a3Ne9ucjNoeXpnY1VVR1k/view?usp=sharing



terça-feira, 11 de agosto de 2015

Python para Testers 8 – Funções

Funções são blocos de código identificados por um nome, que podem receber parâmetros predeterminados. As funções podem ser "invocadas" em outras partes do programa.
Nós já estamos usando as funções do Python como a função print() que exibe algo na saída padrão. As funções podem ou não receber parâmetros, ainda na função print() podemos citar como exemplo o argumento que ela recebe que é um texto.
Para criar uma função: def nome_da_funcao (parâmetros)
Para retornar algum valor, usamos return.
 # Função simples e sem parâmetros:
def ola_mundo():
print("Olá Mundo!")
 # Agora uma função com um parâmetro
def ola_pessoa(nome):
print("Olá " + nome + ", como vai você?")
# Agora uma função com dois parâmetros
def ola_pessoa_blog(nome, blog):
print("O blog " + blog + " pertence à " + nome)
# Chamando as funções
ola_mundo()
meu_nome = "Maira"
ola_pessoa(meu_nome)
meu_blog = "http://mairamdutra.blogspot.com"
ola_pessoa_blog(meu_nome, meu_blog)

Esta última função tem dois parâmetros. Porém eles não precisam ser colocados na ordem em que foram definidos na função, você pode fazer isso também:
# Invertendo os parâmetros
def ola_pessoa_blog(nome, blog):
print("O blog " + blog + " pertence à " + nome)
meu_nome = "Maira"
meu_blog = " http://mairamdutra.blogspot.com "
ola_pessoa_blog(blog=meu_blog, nome=meu_nome)
Hora do Treino
- Faça uma função para calcular o fatorial de um número
- Faça uma função para verificar se um número é primo ou não
Bibliografia
Borges, L. E. – Python para desenvolvedores - http://ark4n.wordpress.com/python/
Resposta do último post: 
https://drive.google.com/file/d/0ByoXb8a3Ne9ucDhpV2xaeGNud1k/view?usp=sharing


quarta-feira, 29 de julho de 2015

Python para testers 7 – Vamos Praticar

No post de hoje a ideia é colocar em prova o que aprendemos. Será uma pequena lista de exercícios. Sem mais delongas, vamos à ela:
1) Leia ( do teclado) dois números e imprima o maior deles;
2) Leia uma letra, se esta letra for M, imprima Masculino, se for F, imprima Feminino, se não for nenhuma delas, imprima Sexo Inválido;
 
3) Imprima a Tabuada de um número digitado pelo usuário
4) Some os números ímpares de 0 a 100
5) Imprima uma frase digitada pelo usuário e continue lendo até que ele digite Sair

Respostas no próximo post

domingo, 19 de julho de 2015

Python para Testers 6 – Estrutura de Repetição

Estruturas de Repetição são os famosos laços. Laços? Sim Laços, assim chamados porque repetem seu conteúdo enquanto uma condição for verdadeira. Geralmente são usados para processar coleções de dados, tais como linhas de um arquivo ou registros de um banco de dados, que precisam ser processados por um mesmo bloco de código. Vejamos mais detalhes sobre os dois mais utilizados: For e While.
For
É a estrutura de repetição mais usada no Python. Seu funcionamento é explicado na imagem abaixo:


Durante a execução de um laço for, a referência aponta para um elemento da sequência. A cada iteração, a referência é atualizada, para que o bloco de código do for processe o elemento correspondente.
Exemplo:

Saída:
4950
A função range(m, n, p), é muito útil em laços, pois retorna uma lista de inteiros, começando em m e menores que n, em passos de comprimento p, que podem ser usados como sequência para o laço.
Veremos funções em outro post.
While
Executa um bloco de código atendendo a uma condição. O bloco de código dentro do laço while é repetido enquanto a condição do laço estiver sendo avaliada como verdadeira. 

O laço while é adequado quando não há como determinar quantas iterações vão ocorrer e não há uma sequência a seguir.
Hora do treino
Mostre todos os pares de 1 a 100 que são divisíveis por 3.
Bibliografia
Borges, L. E. – Python para desenvolvedores - http://ark4n.wordpress.com/python/

Resposta do Exercício anterior:
https://drive.google.com/file/d/0ByoXb8a3Ne9uWUxtczNRaDFZTjA/view?usp=sharing



domingo, 5 de julho de 2015

Python Para Tester 5 – Condicional

Os Operadores Condicionais são utilizados para fazer as comparações dos valores que são passados e retornam o valor Verdadeiro ou Falso. Vejamos um quadro com cada um deles:

Visto os operadores, podemos passar para as estruturas de controle condicional: O famoso IF
Condicional IF
O comando if direciona o computador a tomar uma decisão, baseado nas condições determinadas. Se a condição for atendida, um bloco de comandos será executado, caso contrário, o computador executa outros comandos.
A sintaxe do If é a seguinte:
Vejamos um exemplo:
 
No exemplo acima descobrimos se um número é par ou impar.

Um condicional também pode ser aninhado dentro de outra. Poderíamos ter escrito o exemplo tricotômico (dividido em três) como segue:

O condicional mais externo tem dois ramos. O primeiro ramo contém uma única instrução de saída. O segundo ramo contém outra instrução if, que por sua vez tem dois ramos. Os dois ramos são ambos instruções de saída, embora pudessem conter instruções condicionais também.

Embora a indentação das instruções torne a estrutura aparente, condicionais aninhados tornam-se difíceis de ler rapidamente. Em geral, é uma boa ideia evitar o aninhamento quando for possível.
Hora do treino:
Escreva um programa que descobre se um número é par e é divisível por 5.

Bibliografia:
Aulas de Python – Infog: http://blog.evaldojunior.com.br/aulas-de-python.html
Borges, L. E. – Python para desenvolvedores - http://ark4n.wordpress.com/python/


domingo, 28 de junho de 2015

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

Neste post continuaremos trabalhando com números. Agora veremos a biblioteca Math. Ela tem algumas funções prontas que nos ajuda a lidar com problemas matemáticos.
Exponenciação:
A primeira explorada será a essa feinha aí, a tal da exponenciação. Não lembra dela? Lembra sim, é a tal da potência: o famoso 2³ = 8.
Uma primeira forma seria esta, que é bem parecida com outras linguagens:
a = 2 * 2 * 2
Tudo bem, mas se eu quero fazer 2²³? Como que fica? No Python a exponenciação é feita usando duas vezes o asterisco, assim:
a=2**33.
Radiciação:
Eis a famosa raíz quadrada. Para fazer o cálculo faremos uso de uma função da biblioteca math do Python que nos retorna a raiz quadrada de um número:
a = 16
b = math.sqrt(a)
print(b) # Imprime 4.0
Explicando: a função sqrt() da biblioteca math nos diz a raiz quadrada do número.

unções da Biblioteca Math
Apresento aqui as funções mais utilizadas da biblioteca:
math.sqrt(numero): Retorna a raíz quadrada do número.
math.cos(numero): Retorna o cosseno do número em radiano.
math.sin(numero): Retorna o seno do número em radiano.
math.tan(numero): Retorna a tangente do número em radiano.
math.radians(numero): Converte o angulo 'numero' de graus para radiano.
math.pi: Não é bem uma função, está mais para uma constante com o número pi (3.1415926535897931).
math.hypot(x, y): Retorna a hipotenusa dos números (catetos) fornecidos.
Bibliografia
Curso Python Aula 4 - http://blog.evaldojunior.com.br/aulas/python/2008/11/16/curso-de-python-aula-4-mais-numeros-e-a-biblioteca-math.html