Python Tutorial - Controle de Decisão
-
Declaração
if...else
-
if
Declaração -
if...else
Declaração -
if...elif...else
Declaraçã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