O Objetivo do Python com Farinha não é ensinar lógica de Programação, e sim passar algumas dicas de programação em Python para Sysadmin’s que pretendem utilizá-lo como ferramenta de automação.
Neste primeiro tópico do Python com Farinha, vou comentar um pouco sobre Controle de fluxo if, elif e else.
Sintaxe:
if condição:
-> bloco de código
elif condição:
-> bloco de código
elif condição:
-> bloco de código
else:
-> bloco de código
Na qual:
▪ condição: sentença que possa ser avaliada como verdadeira ou falsa.
▪ bloco de código: sequência de linhas de comando.
▪ As clausulas elif e else são opcionais e podem existir vários elifs para o mesmo if, porém apenas um else ao final.
▪ Parênteses só são necessários para evitar ambiguidades.
Exemplos:
num = input("Digite um numero: ") if (num < 10): print 'Menor que 10' elif (num == 10): print 'Igual a 10' else: print 'Maior que 10'
Os operadores lógicos not, and e or permitem modificar e agrupar o resultado de testes condicionais
a = input("Digite o primeiro numero: ") b = input("Digite o segundo numero: ") if (a == 4) and (b == 5): print 'acertou' elif (a == 4) or (b == 5): print 'quase acertou' else: print 'errou'
a = input("Digite o primeiro numero: ") b = input("Digite o segundo numero: ") if not (a == b): print "A e B são diferentes"
Combinação de operadores
Python oferece uma forma implícita de combinar operações condicionais, sem o uso de operadores lógicos. Por exemplo, para verificar se um valor está entre dois extremos, pode-se usar a seguinte sintaxe:
a = input("Digite o primeiro numero: ") if (0 < a < 10): print "Entre zero e dez"
Usando o operador in / not
>>> 3 not in [2, 3, 4] False >>> 3 not in [4, 5, 6] True
Usando o IF
a = 10 if (a in 10): print "ok" else: print "not"
IF em uma única linha
Se o bloco de código for composto de apenas uma linha, ele pode ser escrito após os dois pontos:
if temp < 0: print ‘Congelando…’
A partir da versão 2.5, o Python suporta a expressão:
<variável> = if <condição> else
Na qual <variável> receberá se <condição> for verdadeira e caso contrário.
a = 'evandro' print "OK" if ( a in 'evandro') else "Error" b = 11 print "OK" if (b == 10) else "Error"
Usando o IF para verificar se existe algum conteúdo dentro da lista
lista=[] print "contem" if lista else "vazia"
lista=[] if lista: print "contem" else: print "vazia"
lista=[] if not lista: print "vazia" else: print "contem"
Usando o IF para verificar se existe algum conteúdo na string
OBS:
%s – string
%nome – retorna o valor para dentro do %s
nome = 'Evandro' if nome: print 'O nome é %s' %nome nome = '' if not nome: print 'Vazia'
>>> 'true' if True else 'false' 'true' >>> 'true' if False else 'false' 'false'
x = 1 y = 2 z = 3 if x < y < z: print x; print y; print z
y = 6 x = 5 if y > 7 else 0 print x
Fonte da pesquisa:
Python para desenvolvedores