Exercícios Resolvidos de Booleans

Ver Teoria

Enunciado

Quais das seguintes expressões resultam em valores lógicos verdadeiros:

  • 5,10 < 10
  • “Açaí” > ”sorvete”
  • 0.1 + 0.2 = = 0.3
  • 666

Passo 1

Fala aí! Essa questão obriga a gente a lembrar dos operadores lógicos e suas aplicações. Vamos olhar pra uma expressão de cada vez e tentar identificar qual o resultado da expressão, se será True ou False, beleza? A questão pede os que serão True. Vamos começar analisando a primeira!

Nessa primeira, estamos comparando um número real (do tipo float) com um número inteiro. Com o uso do operador “menor que”, a gente tá perguntando se número da esquerda é menor que o número da direita. Com isso, a resposta é True! Pois 5.10 realmente é menor que 10, né?? Então! Por isso a resposta vai ser “sim”, e computadores dizem sim usando True, beleza?!

Show! Vamos pra segunda.

Passo 2

No segundo passo tem a comparação entre strings. Estamos perguntando se a String da esquerda é “maior” que a da direita, alfabeticamente falando. Essa pergunta pode ser traduzida pra “Açaí vem depois de sorvete na ordem alfabética?”. E, por isso, a resposta é não. False. Nesse caso, também é importante lembrar que todo alfabeto minúsculo é considerado maior que o maiúsculo, ok?! O “s” minúsculo vem depois do “A” maiúsculo na ordem alfabética, por isso é maior.

Vamos analisar o próximo item!

Passo 3

Olha, se a gente fizer essa conta de cabeça, parece que a resposta é True, né?! 0.1+0.2 realmente dá 0.3. Mas acontece que, nesse caso, a resposta é False. Isso acontece por causa da imprecisão dos números reais em Python. Lembra que em Python só as primeiras 16 casas são precisas? Então! Olha o que acontece se você somar 0.1+0.2:

Viu?! Esse número realmente não é igual a 0.3! Por isso a resposta é False. Cuidado quando você for fazer comparações de igualdade com números reais, ok?! Esse 4zinho ali com certeza ia te dar dor de cabeça!

Partiu analisar o último item!

Passo 4

Ih, rapaz! Essa opção não tem nenhum operador relacional. Mas cê lembra que True e False são apelidos pra 1 e 0, respectivamente? Isso porque os computadores reconhecem 0 como False, e True pra qualquer outro valor diferente de 0, ok?

Nesse código a gente tá transformando os valores em booleanos e depois exibindo o resultado. Se liga no que acontece depois que a gente executa:

Viu?! Só foi False quando a gente usou 0, e qualquer outro valor diferente de 0 foi considerado True, beleza?!

*** Observação: além do 0, o valor None também é considerado False, mas o valor None é inútil e por isso a gente finge que ele não existe, ok?!

Show! Acabamosss!

Resposta

Apenas a primeira e a última expressões retornam True.