3.1 Operadores relacionais
Para realizarmos comparações lógicas, utilizaremos operadores relacionais. A lista de operadores relacionais suportados em Python é apresentada na Tabela 3.2.
O resultado de uma comparação com esses operadores é um valor do tipo lógico, ou seja, True (verdadeiro) ou False (falso). Utilizaremos o verbo “avaliar” para indicar a resolução de uma expressão. Por exemplo:
»> a = 1 # a recebe 1
>» b = 5 # b recebe 5
»> c = 2 # c recebe 2
»> d = 1 # d recebe 1
»> a == b # a é igual a b ?
False
>» b > a # b é maior que a?
True
>» a < b # a é menor que b?
True
»> a == d # a é igual a d?
True
»> b >= a # b é maior ou igual a a?
True
»> c <= b # c é menor ou igual a b?
True
>» d != a # d é diferente de a?
False
»> d != b # d é diferente de b?
True
Esses operadores são utilizados como na matemática. Especial atenção deve ser dada aos operadores >= e <=. O resultado desses operadores é realmente maior ou igual e menor ou igual, ou seja, 5 >= 5 é verdadeiro, assim como 5 <= 5.
Observe que utilizamos o símbolo de cerquilha (#) para escrever comentários na linha de comando. Todo texto à direita do cerquilha é ignorado pelo inter- pretador Python, ou seja, você pode escrever o que quiser. Veja como é mais fácil entender cada linha quando a comentamos. Comentários não são obrigatórios, mas são muito importantes. Você pode e deve utilizá-los em seus programas para facilitar o entendimento e oferecer uma anotação para si mesmo.
É comum lermos um programa alguns meses depois de escrito e termos dificuldade de lembrar o que realmente queríamos fazer. Você também não precisa comentar todas as linhas de seus programas ou escrever o óbvio. Uma dica é identificar os programas com seu nome, a data em que começou a ser escrito e mesmo a listagem ou capítulo do livro onde você o encontrou.
Variáveis de tipo lógico também podem ser utilizadas para armazenar o resultado de expressões e comparações:
nota = 8
média = 7
aprovado = nota > média
print(aprovado)
Se uma expressão contém operações aritméticas, estas devem ser calculadas antes que os operadores relacionais sejam avaliados. Quando avaliamos uma expressão, substituímos o nome das variáveis por seu conteúdo e só então verificamos o resultado da comparação.
Exercício 3.2 Complete a tabela a seguir, respondendo True ou False. Considere
a = 4, b = 10, c = 5.0, d = lef = 5.
3.2 Operadores lógicos
Para agrupar operações com lógica booleana, utilizaremos operadores lógicos. Python suporta três operadores básicos: not (não), and (e), or (ou). Esses operadores podem ser traduzidos como não (-> negação), e (A conjunção) e ou (V disjunção).
Cada operador obedece a um conjunto simples de regras, expresso pela tabela verdade desse operador. A tabela verdade demonstra o resultado de uma operação com um ou dois valores lógicos ou operandos. Quando o operador utiliza apenas um operando, dizemos que é um operador unário. Ao utilizar dois operandos, é chamado operador binário. O operador de negação (not) é um operador unário. or (ou) e and (e) são operadores binários, precisando, assim, de dois operandos.