-
Agora que você já conhece
as estruturas condicionais em Portugol,
-
vamos ver na prática
como é feito no Python.
-
Para executar um código em Python,
existem várias formas.
-
Você pode instalar
na sua máquina
-
e executar com sua
ferramenta predileta,
-
ou podemos usar alguma
plataforma online.
-
Aqui estou no
"online-python.com",
-
uma plataforma que você
consegue executar códigos
-
rapidamente
na linguagem Python.
-
Eu tenho um
algoritmo implementado
-
onde nós vamos ver o uso do
"if" e "else" da estrutura condicional.
-
Primeiramente,
dentro dessa variável "idade",
-
nós estamos pedindo para
o usuário digitar uma idade,
-
transformando o que ele digitou,
quem vem em uma string,
-
em um número inteiro.
-
Depois, fazemos a validação
através do "if".
-
Aqui, a condição que eu quero,
"idade >= 18".
-
No final do "if",
eu tenho que colocar os ":"
-
e essa identação
é obrigatória
-
para entender
o que está dentro do "if".
-
No caso, somente esse "print"
com um texto para o usuário.
-
Então, eu tenho também
o comando "else", com ":",
-
e também o recuo para dizer que
o "print" está dentro do "else",
-
ou seja, se essa condição for
verdadeira, ele vai imprimir.
-
"Você pode assistir os vídeos";
-
se condição
"idade >= a 18" for falsa,
-
ele vai imprimir
esse outro texto.
-
Clicando no "Run", eu vou
conseguir executar esse código.
-
Então, eu vou digitar uma idade,
uma idade de 20
-
e, no caso,
o acesso foi concedido,
-
ou seja, ele imprimiu o que
está dentro do "if".
-
Se eu colocar uma idade
menor do que 18,
-
ele vai executar
o que está no "else".
-
Aqui no Python, eu tenho
os operadores relacionais também.
-
Então, eu tenho o "and".
-
Eu poderia colocar "idade <= 60",
ou "idade < 60",
-
ou seja, eu tenho a condição
idade >= 18 e idade < 60,
-
ele tem que atender
a essas duas condições
-
para que este texto
seja impresso.
-
Então, se eu executar aqui
e colocar 70 anos, agora,
-
ele não vai ter
a permissão,
-
porque essa condição aqui
se tornou falsa.
-
Além do "and", eu tenho "or",
que seria um ou outro,
-
então ou a idade é maior,
igual ou idade menor,
-
e eu tenho a negação,
também, seria o "not".
-
Então, no caso, ele está invertendo
o resultado dessa condição.
-
Se isso aqui
for verdadeiro,
-
o "not" vai transformar
essa expressão no falso;
-
e se for falso,
ele transforma em verdadeiro.
-
Esses são os nossos operadores
relacionais dentro do Python.
-
É possível trabalhar, também,
com "if" encadeado dentro do Python.
-
Porém, no Python existe
uma estrutura chamada "elif",
-
que é a junção do
"else" com o "if",
-
onde eu coloco já
uma condição,
-
ficando um código
muito mais simples.
-
Vamos ver na prática.
-
Aqui eu tenho um algoritmo
onde nós estamos validando
-
a premiação dos clientes
de acordo com o valor de compras
-
e também a frequência
que ele está realizando as compras.
-
Então, primeiramente,
nós estamos armazenando
-
nesta variável chamada
"valor_compras"
-
o valor total das compras
do nosso cliente;
-
e aqui na "frequencia"
nós pedimos para ele colocar
-
quantas vezes ele realizou
uma compra na nossa loja.
-
Essa aqui é do tipo float
e a "frequencia" do tipo inteiro.
-
Então,
começam as validações:
-
se "valor_compras >=2000.0"
e a "frequencia >=10",
-
ele vai ter aqui
a categoria VIP.
-
E então, o nosso "elif"
ou seja, o "else" junto com "if"
-
e esse "if" já vem
com a nova condição.
-
Então,
se essa expressão for falsa,
-
ele vai vir para o "elif" e vai
testar essa nova condição aqui.
-
Se essa aqui também for falsa,
ele vai para o próximo e o "elif",
-
testando aqui se
"valor_compras > 500"
-
ou "frequencia >5",
-
e se essa condição
não for verdadeira,
-
as duas expressões aqui
com "or' forem verdadeiras,
-
ele vai para o "else"
para imprimir
-
essa última mensagem
para o nosso usuário.
-
Vamos testar?
-
Então, no caso o "valor_compras",
eu comprei 1000 reais
-
e eu realizei 6 compras
no ano.
-
Aonde será que ele vai?
-
Qual "if" ou "elif"
que ele vai executar?
-
Então, aqui deu que eu estou na
categoria ouro e ganhei prêmios extras,
-
ou seja, se olhar aqui,
"valor_compras" é maior do que 1000,
-
maior ou igual, senão não teria
entrado aqui nessa condição.
-
Então ele validou a primeira,
viu que não foi verdadeira,
-
já que eu só fiz
1000 de valor e 6
-
e ele caiu aqui
nesse próximo e "elif".
-
Outra estrutura condicional existente
no Python, a partir do 3.10,
-
é o "match case", é o equivalente
ao "switch case" em outras linguagens.
-
Eu quero saber qual é o valor
que existe dentro da variável.
-
Se eu tenho um conjunto
de valores possíveis
-
e, dependendo do valor,
eu quero executar alguns comandos,
-
eu posso utilizar essa
estrutura condicional.
-
Aqui eu tenho um algoritmo que está
implementando uma calculadora,
-
onde o usuário tem 4 opções
-
e ele vai escolher a opção
de acordo com um número.
-
Então, 1 é soma, 2 é subtração,
3 é multiplicação e 4 é divisão
-
e, de acordo com esse menu
que foi apresentado,
-
ele vai escolher
uma das opções,
-
que será armazenadas
nesta variável chamado "escolha".
-
Depois, nós vamos ler
outros 2 números,
-
que serão realizados na
operação aritmética que ele escolheu,
-
então, vão ser armazenado
no "num1" e no "num2".
-
Então, nós vamos
calcular o resultado.
-
Como que vamos
calcular o resultado?
-
De acordo com o que ele
escolheu aqui nessa opção.
-
Então,
"match (escolha):",
-
o que tiver dentro dessa variável
chamada "escolha",
-
Se for 1, ele vai executar
esses comandos;
-
se for 2, esses outros;
3 essa multiplicação;
-
e se for 4, primeiro ele valida
se "num2" é diferente de 0,
-
já que eu não posso
dividir por 0.
-
Se for diferente, ele vai realizar
a divisão e mostrar o resultado;
-
se não for, ele vai falar que
"Não é possível dividir por zero!".
-
Esse último case,
quando colocamos esse "_",
-
quer dizer que nenhuma das opções
foram atendidas, ou seja,
-
o "escolha" que o usuário digitou
não é o número 1, 2, 3 ou 4,
-
ou seja, qualquer outro
valor que ele digitou,
-
então, nós temos aqui um "case"
que é uma ação padrão,
-
que vai realizar que é
"Operação inválida!".
-
Então, vamos testar,
vou dar o "Run".
-
Ele deu um erro aqui,
falando que na linha 20
-
tem um problema "Match (escolha)",
sintaxe inválida.
-
Provavelmente isso aconteceu
por causa da versão do Python,
-
onde não existe essa estrutura
ainda na versão escolhida.
-
Então, vou procurar por
uma outra plataforma online
-
para executarmos
o nosso código.
-
Então, vou escrever "python online",
ou pesquisar aqui,
-
Vou usar essa GDB online,
que aqui eu consigo executar
-
várias linguagens de programação,
inclusive o Python
-
na versão aqui que
aceita o "match case".
-
Então, eu vou copiar
o código anterior
-
e colocar aqui nessa nova plataforma
e vou dar o "Run.
-
Maravilha, funcionou.
-
Então, no caso eu vou
escolher a soma,
-
vou colocar o número 5 e o número 6
e o resultado da soma foi 11,
-
ou seja, como eu coloquei o valor 1,
fiz a escolha 1,
-
ele executou este "case"
com o valor 1.
-
Vou testar agora com uma opção
que não existe, não é 1, 2, 3 ou 4.
-
Vou colocar 9,
por exemplo,
-
e vou colocar 2 números
quaisquer aqui
-
e ele vai mostrar
"Operação inválida!",
-
ou seja, o "escolha",
como tinha o valor 9,
-
não era nem o 1, 2, 3 ou 4,
ele veio aqui para o último,
-
que é o "case" padrão
que nós temos.
-
Com isso nós vimos as estruturas
condicionais no Python,
-
o "if", "else", o "elif" e, também,
a nova versão com o "match case".