Operadores Python para Tomada de Decisão

PythonBeginner
Pratique Agora

Introdução

Neste laboratório, você praticará o uso de diferentes tipos de operadores em Python. Especificamente, você trabalhará com operadores de comparação, operadores booleanos e operadores de mistura. Ao final deste laboratório, você será capaz de usar esses operadores para tomar decisões e realizar cálculos em seu código Python.

Conquistas

  • Operadores de Comparação Python
  • Operadores Booleanos Python
  • Operadores de Mistura Python

Operadores de Comparação

Nesta etapa, você aprenderá a usar operadores de comparação em Python. Os operadores de comparação permitem comparar dois valores e determinar se eles são iguais, maiores ou menores um que o outro. Para começar, abra o terminal e o interpretador Python:

python3

Em seguida, tente usar os seguintes operadores de comparação:

## Igual a
print(1 == 1)  ## True
print(1 == 2)  ## False

## Diferente de
print(1 != 1)  ## False
print(1 != 2)  ## True

## Maior que
print(1 > 2)  ## False
print(2 > 1)  ## True

## Menor que
print(1 < 2)  ## True
print(2 < 1)  ## False

## Maior ou igual a
print(1 >= 2)  ## False
print(2 >= 1)  ## True
print(1 >= 1)  ## True

## Menor ou igual a
print(1 <= 2)  ## True
print(2 <= 1)  ## False
print(1 <= 1)  ## True

Você pode usar operadores de comparação para comparar números inteiros, números de ponto flutuante (floats) e strings. Por exemplo:

print(1.0 == 1)  ## True
print(1.5 > 1)  ## True
print("a" < "b")  ## True

Tente usar operadores de comparação para comparar diferentes valores em Python. Você consegue determinar quais valores são iguais, maiores ou menores um que o outro?

Operadores Booleanos

Nesta etapa, você aprenderá a usar operadores booleanos em Python. Os operadores booleanos permitem combinar várias comparações usando and (e), or (ou) e not (não) lógicos. Para começar, tente usar os seguintes operadores booleanos:

## E lógico (and)
print(True and True)  ## True
print(True and False)  ## False
print(False and True)  ## False
print(False and False)  ## False

## Ou lógico (or)
print(True or True)  ## True
print(True or False)  ## True
print(False or True)  ## True
print(False or False)  ## False

## Não lógico (not)
print(not True)  ## False
print(not False)  ## True

Você pode usar operadores booleanos para combinar várias comparações e criar condições mais complexas. Por exemplo:

## Verificar se x é maior que y e z é menor que y
x = 5
y = 10
z = 15
print(x > y and z < y)  ## False

## Verificar se x é maior que y ou z é menor que y
print(x > y or z < y)  ## False

## Verificar se x não é igual a y
print(x != y)  ## True

Tente usar operadores booleanos para combinar várias comparações em Python. Você consegue criar condições complexas que resultam em True ou False?

Operadores de Mistura

Nesta etapa, você aprenderá a usar operadores de mistura em Python. Os operadores de mistura permitem combinar operadores de comparação e booleanos para criar condições ainda mais complexas. Para começar, tente usar os seguintes operadores de mistura:

## Verificar se x é maior que y e menor ou igual a z
x = 5
y = 10
z = 15
print(y < x <= z)  ## False

## Verificar se x não é maior que y e não é menor ou igual a z
print(not (y < x <= z))  ## True

Você pode usar operadores de mistura para criar condições que são mais difíceis de entender à primeira vista. É importante usar parênteses para indicar claramente a ordem das operações.

## Verificar se x é maior que y e (z é menor que y ou z é igual a x)
x = 5
y = 10
z = 15
print(x > y and (z < y or z == x))  ## False

Tente usar operadores de mistura para criar condições complexas em Python. Você consegue usar operadores de comparação e booleanos juntos para criar condições que reflitam com precisão a lógica desejada?

Operador Walrus

O operador walrus, :=, é um novo recurso introduzido no Python 3.8 que permite atribuir valores a variáveis dentro de uma expressão. O operador funciona usando a mesma sintaxe do operador de atribuição, =, mas ele aparece no lado esquerdo de uma expressão.

Aqui estão alguns exemplos de código para mostrar como usar o operador walrus.

Exemplo 1

## Encontrando o primeiro número par em uma lista usando o operador walrus
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in numbers:
    if (even := num % 2 == 0):
        print(f"O primeiro número par é: {even}")
        break

## Saída:
## O primeiro número par é: True

Este exemplo demonstra como usar o operador walrus para encontrar o primeiro número par em uma lista. A lista numbers contém inteiros de 1 a 10. No loop for, iteramos pela lista numbers e usamos o operador walrus := para atribuir o resultado da expressão num % 2 == 0 à variável even. Se even for True, significa que num é um número par. Nesse caso, a instrução if é satisfeita e o primeiro número par é impresso junto com uma mensagem. A instrução break é usada para parar o loop quando o primeiro número par é encontrado.

Exemplo 2

## Usando o operador walrus em um loop while
counter = 0
while (counter := counter + 1) <= 10:
    print(counter)

## Saída:
## 1
## 2
## ……
## 10

Neste exemplo, usamos o operador walrus em um loop while. A variável counter é inicializada em 0 e o loop while continua a ser executado enquanto counter for menor ou igual a 10. Em cada iteração do loop, o operador walrus é usado para atualizar o valor de counter incrementando-o em 1. O valor atualizado de counter é então usado na próxima iteração do loop. O loop imprime o valor de counter em cada iteração, resultando na impressão dos números de 1 a 10.

Exemplo 3

## Usando o operador walrus em uma compreensão de lista (list comprehension)
squared_numbers = [num * num for num in range(10) if (even := num % 2 == 0)]
print(squared_numbers)

## Saída:
## [0, 4, 16, 36, 64]

Neste exemplo, usamos o operador walrus em uma compreensão de lista. A compreensão de lista é usada para criar uma lista dos quadrados dos números pares de 0 a 9. A compreensão de lista consiste em duas partes: uma expressão num * num e uma cláusula condicional if (even := num % 2 == 0). A expressão num * num calcula o quadrado do número atual no loop num. A cláusula condicional usa o operador walrus para atribuir o resultado da expressão num % 2 == 0 à variável even. Se even for True, significa que num é um número par, e seu quadrado é incluído na lista squared_numbers. A compreensão de lista gera a lista [0, 4, 16, 36, 64].

É importante notar que o operador walrus destina-se ao uso em casos específicos onde você precisa atribuir um valor dentro de uma expressão e usar esse mesmo valor várias vezes. Ele não pretende substituir as instruções de atribuição tradicionais, e recomenda-se usá-lo com moderação para melhorar a legibilidade do código.

Resumo

Neste laboratório, você aprendeu a usar operadores de comparação, operadores booleanos e operadores de mistura em Python. Você pode usar esses operadores para tomar decisões e realizar cálculos em seu código. Pratique o uso desses operadores para se tornar mais proficiente com eles.