Categorias
Introdução à Programação para Bioinformática com Biopython

Laços de repetição

Capítulo 3

Este conteúdo faz parte do livro “Introdução à Programação para Bioinformática com Biopython“. Você pode adquirir a versão impressa desse livro aqui ou a versão para Kindle aqui. Para nos citar, consulte este link.

Existem basicamente dois tipos de laços de repetição em Python: o laço while, usado quando não sabemos exatamente quantas vezes o bloco será repetido, assim será definida uma determinada condição e quando essa for atingida o bloco se encerrará; e o laço for, usado quando sabemos quantas vezes o bloco será repetido, como por exemplo se desejarmos que o código será executado dez vezes.

Comando While

Para compreendermos melhor o laço while (na tradução literal para a língua portuguesa “enquanto”) podemos utilizar como exemplo a calculadora desenvolvida no capítulo anterior. Vamos adicionar alguns comandos para que o script se repita até que o usuário deseje encerrá-lo.

'''
Titulo: calculadora.py
Funcao: efetua somas, subtracoes, divisoes e multiplicacoes
'''
 
print("CALCULADORA")
 
sair = False
 
while sair == False:
 
	num1 = input("Digite o primeiro numero: ")
 
	operador = input("Digite a operacao desejada \
(1 para soma, 2 para subracao, 3 para divisao e \
4 para multiplicacao): ")
 
	num2 = input("Digite o segundo numero: ")
 
	if operador == 1:
		operacao = num1 + num2
	elif operador == 2:
		operacao = num1 - num2
	elif operador == 3:
		operacao = num1 / num2
	elif operador == 4:
		operacao = num1 * num2
	else:
		operacao = "Operador invalido. Use: \
1, 2, 3 ou 4"
	 
	print("Resultado: ")
 
	print(operacao)
 
	opcao = int(input("Digite 1 para encerrar a \
calculadora ou 2 para realizar outra operacao"))
 
	if opcao == 1:
		sair = True

Observe que todo o recuo do código abaixo do comando while foi ampliado, indicando que os comandos abaixo pertencem ao bloco, ou seja, fazem parte do laço de repetição. Em algumas linhas utilizamos o caractere barra invertida (\) para indicar que o comando prossegue na linha abaixo.

No exemplo acima, o script continuará se repetindo enquanto o usuário não digitar o valor 1 quando requisitado. Perceba que o bloco será repetido enquanto a variável sair for equivalente a False. Ela apenas será alterada para True caso a variável opcao receba como entrada o valor 2. Observe que a variável sair é do tipo booleana, ou seja, ou ela só pode assumir os valores verdadeiro (True) ou é falso (False).

Comando for

O comando for (na tradução literal para a língua portuguesa “para”), diferente do comando while, realiza iterações sobre coleções. Sendo assim, a cada “volta” do laço, a variável definida na chamada do for assume o valor de um dos elementos da coleção. A execução do comando é finalizada quando chega ao fim da coleção ou através de um comando de interrupção, como veremos em breve.

Vamos utilizar o comando for para criar um contador de 10 números.

for i in range(10):
	print(i, sep=” ”)

Nesse exemplo será impresso na tela “0 1 2 3 4 5 6 7 8 9”. Observe que o número 10 não é impresso na tela. Isso ocorre, pois em Python, assim como em outras linguagens, contadores começam a contar do valor 0. Usando uma vírgula após o nome da variável durante o comando print, um espaço será inserido após a impressão. A função range( ) retorna uma lista de inteiros. For também pode ser utilizado para percorrer outros tipos de listas. Veremos como fazer isso nos próximos capítulos.

Cláusulas break e continue

Caso desejemos alterar o fluxo de execução de um laço de repetição, podemos utilizar as cláusulas: break, para interromper a execução, ou continue, para prosseguir para a próxima iteração. Veja:

for i in range(10):
	if i == 5:
		continue
	if i < 8:
		print(i)
	if i == 8:
		break
# Sera impresso: 0 1 2 3 4 6 7

.

Quer aprender mais? Conheça nossos cursos profissionalizantes à partir de R$19,99:

Livro Introdução à Programação para Bioinformática com Biopython

Capítulo 1
Introdução ao Python

Capítulo 2
Comandos condicionais

Capítulo 3
Laços de repetição

Capítulo 4
Trabalhando com strings

Capítulo 5
Listas

Capítulo 6
Manipulando arquivos

Capítulo 7
Funções

Capítulo 8
Princípios da orientação a objetos

Capítulo 9
Introdução ao Biopython

Capítulo 10
Sequências

Capítulo 11
BLAST

Capítulo 12
PDB

Capítulo 13
Visualização de dados em Python

Capítulo 14
Outras coisas interessantes que se pode fazer com Biopython

Capítulo 15
Hierarquia do Biopython

Por favor, nos cite:

MARIANO, D. C. B.; BARROSO, J. R. P. M. ; CORREIA, T. S. ; de MELO-MINARDI, R. C. . Introdução à Programação para Bioinformática com Biopython. 3. ed. North Charleston, SC (EUA): CreateSpace Independent Publishing Platform, 2015. v. 1. 230p .

Por Diego Mariano

Doutor em Bioinformática pela Universidade Federal de Minas Gerais com atuação na área de ciência de dados e aprendizado de máquina aplicados ao aperfeiçoamento de enzimas usadas na produção de biocombustíveis. Mestre em Bioinformática, também pela UFMG, atuando na área de desenvolvimento de sistemas Web para montagem de genomas. Atualmente realiza estágio pós-doutoral no Departamento de Ciência da Computação da UFMG com foco em desenvolvimento de sistemas Web para Bioinformática, análise exploratória e visualização de dados. Tem conhecimentos nas linguagens: PHP, JavaScript, Python, R, Perl, HTML, CSS e SQL.