Neste capítulo, os temas que abordaremos são: estruturas de decisão, operadores relacionais e operadores lógicos. Estruturas de decisão eram representadas pelo losangono fluxograma e possibilitavam ao programa escolher entre dois caminhos diferentes, de acordo com a sentença condicional. Em Python é muito semelhante, mas, ao invés da representação gráfica, utilizamos uma representação escrita. Assim, podemos fazer com que o programa execute algum comando apenas se uma determinada situação ocorrer. Para escrevermos as sentenças, ou seja, as condições, fazemos a utilização dos chamados operadores relacionais, que se resumem nos símbolos apresentados na tabela abaixo:
![[livro de Python PDF – img operadores relacionais – cap5.png]]

Voltando às estruturas de decisão, temos, primeiramente, o comando if. Sua estrutura é:
if condição:
comando(s)
É possível notar que na linha seguinte ao comando if, demos um espaçamento, chamamos isso de indentação. A indentação, em Python, é responsável por delimitar blocos de códigos, ou seja, tudo que vier após o comando if e tiver um espaçamento da margem faz parte dos comandos que serão executados, caso a condição seja verdadeira.
Em outras linguagens, os blocos são delimitados por chaves. Nesses casos, a indentação é uma questão estética, mas, mesmo assim, muito importante, já que facilita a leitura do código. Porém, em Python, a indentação vai além de uma questão estética. Tudo que está rente à margem faz parte do primeiro nível hierárquico; já o que está com uma tabulação ou 4 espaços representa o segundo nível hierárquico; o que tiver 2 tabulações ou 8 espaços está dentro do terceiro nível hierárquico e assim por diante.
A segunda estrutura de decisão é composta pelo comando if seguido pelo comando else. Nessa estrutura existe uma condição e, caso ela seja atendida, o primeiro bloco de códigos será executado. Caso contrário, será executado o bloco de código que vem após o comando else, como é possível observar abaixo:
if condição:
comando(s)
else:
comando(s)
Suponhamos que desejemos criar um algoritmo para auxiliar alguém a atravessar a rua. Nesse programa, frente a esta suposta situação, o usuário digitará 1 se tiver carros na
rua e 2 se a rua estiver livre. Dependendo da resposta, o programa escreverá na tela para o usuário atravessar, ou não, a rua:
num=input("digite 1 se tiver carros na rua e 2 se a rua estiver livre”)
if num==1:
print("nao atravesse a rua")
else:
print("atravesse a rua")
Para ajudar a compreender melhor o conteúdo, faremos outro exemplo no qual o usuário poderá escolher se ele deseja realizar uma soma ou subtração entre dois números. No exemplo, podemos notar que temos a palavra int antes do comando input. Esse comando transforma uma string em um número inteiro e pode ser utilizado em diversas outras situações que objetivam transformar algum tipo de dado em inteiro.
num1=int(input("digite dois numeros\n”))
num2=int(input())
op=input("digite a oprecao que deseja realizar\n")
if op=='+':
print(num1+num2)
else:
print(num1-num2)
Porém, é muito comum que exista a necessidade de mais do que apenas dois caminhos a serem seguidos pelo programa. Por exemplo, se, diferentemente do programa acima, que realizava apenas soma e subtração, quiséssemos fazer um programa que utilizasse as 4 operações, como uma calculadora, teríamos que utilizar a estrutura if…elif…else, como notamos a seguir:
num1=int(input("digite dois numeros\n”))
num2=int(input())
op=input("digite a oprecao que deseja realizar\n”)
if op=='+':
print(num1+num2)
elif op=='-':
print(num1-num2)
elif op=='*':
print(num1*num2)
elif op=='/':
print(num1/num2)
else:
print("esta operacao nao existe")
Por fim, discutiremos os operadores lógicos, que são basicamente os operadores E e OU e que indicam apenas dois valores — o valor verdadeiro e o falso.
O primeiro deles funciona da seguinte maneira: caso duas afirmações sejam verdadeiras, ele resultará em um afirmação verdadeira; caso contrário, o resultado será falso.
Já o operador OU resulta em verdadeiro se alguma das afirmações for verdadeira. Ou seja, para que a resposta seja verdadeira basta que pelo menos uma das afirmativas também seja, e para a resposta ser falsa é necessário que ambas as afirmativas sejam falsas.
Abaixo, notam-se alguns exemplos que envolvem os 2 operadores:
Escreva V para verdadeiro e F para falso.
( V ) 8 e 9 são menores que 10
( V ) 11 ou 13 são maiores que 12
( V ) 11>12 ou 13>12
Em Python, o operador E é simbolizado por AND e o operador OU, por OR. Abaixo, temos um exemplo da utilização destes operadores lógicos na programação. Neste programa, temos como objetivo verificar se um indivíduo está na média nacional de altura, sabendo que a média está entre 150 e 180cm.
altura=int(input("escreva sua altura”))
if altura>150 and altura<180:
print("voce esta dentro da altura media nacional”)
else:
print("voce nao esta dentro da altura media nacional")
🔗 Para acessar todos os capítulos, visite a página: Livro de Lógica de Programação em Python.