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:
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