Python Tutorial - Controle de Decisão
-
Declaração
if...else -
ifDeclaração -
if...elseDeclaração -
if...elif...elseDeclaração -
Declarações aninhadas
if
Nesta seção, você aprenderá a construção da tomada de decisão na programação Python. A construção de decisão mais utilizada é uma construção if...else.
Declaração if...else
A declaração if...else é utilizada quando você tem dois blocos de declarações e quer executar apenas uma com base em algumas condições. Na programação Python, o if...elif...else é utilizado principalmente como uma construção de tomada de decisão.
if Declaração
Na instrução if você tem apenas um bloco de instruções e este bloco é executado apenas quando a condição é True, ignorado quando a condição é False.
Abaixo está a sintaxe do comando if em Python:
if condition:
statement(s)
O corpo do comando if em Python não é rodeado por chaves encaracoladas, mas em vez disso, é utilizada uma indentação. O fim do corpo é indicado pela primeira linha não intencional.
Exemplo de declaração if
Considere o seguinte exemplo no qual a instrução if é utilizada:
a = 24
if a % 2 == 0:
print(a, "is an even number")
b = 23
if b % 2 == 0:
print(b, "is an odd number")
24 is an even number
Nesse código, a variável a recebe primeiro um valor e depois a condição na instrução if é avaliada. Ela verifica se a é um número par ou não tomando o módulo de a com 2 e se o resultado de % (mod) é 0, então o controle entra no corpo do if e a instrução print é executada.
Então b recebe um número ímpar 23. A condição na instrução if não é True, portanto print(b, "is an odd number") não será executada.
if...else Declaração
O seguinte é a sintaxe de uma declaração if...else:
if condition:
block of statements
else:
block of statements
No if...else, se a condição if for True, o bloco de instruções correspondente é executado, caso contrário, o bloco de instruções na parte else será executado.
Exemplo de comando if...else
Considere o código abaixo no qual if...else é utilizado:
a = 44
if a % 2 == 0:
print(a, "is an even number")
else:
print(a, "is an odd number")
44 is an even number
Aqui se a é par, imprimirá a é um número par, caso contrário imprimirá a é um número ímpar.
if e else não poderiam ser ambos executados ou ignorados. Apenas um bloco é executado com base na condição True ou não.if...elif...else Declaração
O seguinte é a sintaxe da declaração if...elif...else:
if condition:
block of statements
elif condition:
block of statements
else:
block of statements
elif significa else if e pode ser utilizado várias vezes nesta construção if...elif...else.
Quando a condição sob if se torna False, a condição de elif será verificada e assim por diante. Quando todas as condições de if e elif são False, a parte else será executada.
Exemplo de declaração
Considere o código abaixo no qual utilizamos a declaração if...elif...else que verifica múltiplas condições:
a = -34
if a > 0:
print("Number is Positive")
elif a < 0:
print("Number is Negative")
else:
print("Number is zero")
Number is Negative
Declarações aninhadas if
Em Python, você pode ter uma declaração if dentro de outra if. Isso é chamado de declaração de if aninhada.
Você pode aninhar qualquer tipo de comando if para qualquer número de vezes. Mas não é uma boa prática utilizar estruturas aninhadas do if em linguagens de programação, pois a legibilidade do programa se torna pior.
Exemplo de comandos if aninhados
No código seguinte, a estrutura aninhada if é utilizada para encontrar o maior número:
T = 52
if T > 25:
if T < 50:
print("Temperature is higher than 25 but lower than 50")
else:
print("Temperature is higher than 50")
else:
if T < 0:
print("Temperature is lower than 0")
else:
print("Temperature is higher than 0 but lower than 25")
Temperature is higher than 50
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook