Valores e operadores booleanos

Tópicos

  • tipo bool;
  • valores booleanos: True e False;
  • operadores lógicos and, or e not;
  • expressões lógicas;
  • indicadores de passagem.

Valores booleanos

Em Python, uma variável pode assumir valor booleano True (verdadeiro) ou False (falso). Esses valores são úteis para representar, por exemplo, o resultado de uma comparação. Experimente:

(aula05_exemplo_1)



Operadores e expressões lógicas

Assim como expressões aritméticas podem ser formadas por operadores aritméticos (como 2 + 3 * 4), expressões lógicas são formadas por operadores lógicos.

Operador and

Dados dois valores booleanos A e B, o operador lógico and resulta em True apenas quando A e B foram ambos True, e retorna False caso contrário.

Altere os valores de A e B no programa abaixo e veja o resultado.

(aula05_exemplo_op_logico_and)



A tabela abaixo mostra o resultado de and para todas as combinações de A e B.

and A = True A = False
B = True True False
B = False False False

Operador or

Dados dois valores booleanos A e B, o operador lógico or resulta em False apenas quando A e B foram ambos False, e retorna True caso contrário.

Altere os valores de A e B no programa abaixo e veja o resultado.

(aula05_exemplo_op_logico_or)



A tabela abaixo mostra o resultado de or para todas as combinações de A e B.

or A = True A = False
B = True True True
B = False True False

Operador not

O operador lógico not muda o valor de seu argumento, ou seja, not True é False, e not False é True.

Exercícios

Exercício 5.1

Dados um número inteiro n > 0 e as notas finais de n alunos, determinar quantos alunos ficaram de recuperação. Um aluno está de recuperação se sua nota fina está entre 3.0 e 5.0 (exclusive) A nota máxima é 10.0.

(aula05_ex51_tentativa)



Clique aqui para ver uma solução.

Exercício 5.2

Dados um número inteiro n, n > 0, e uma sequência com n números reais, verificar se a sequência está em ordem crescente.

Por exemplo, para a entrada

7   -6   0   12   15   37   101   201

o programa deve imprimir Não está em ordem crescente. e para a entrada

7  -6  0  17  15  37 101 201

o programa deve imprimir Está em ordem crescente.

(aula05_ex52_tentativa)



Clique aqui para ver uma solução.

Exercício 5.3

Dado um número inteiro n, n > 0, verificar se este número contém dois dígitos adjacentes iguais.

Por exemplo, para

1234321 a resposta é não e
1234556 a resposta é sim.

(aula05_ex53_tentativa)



Clique aqui para ver uma solução.