-
No preliminar foi dada como certa, contudo após a análise dos recursos a banca alterou para ERRADA, com a seguinte justificativa: O resultado que deveria ser True, e não "True".
Com a mesma justificativa, a banca alterou o gabarito da outra questão por conta das aspas.
Justificativa: O resultado que deveria ser 12, e não "12".
-
Os booleanos representam um de dois valores: True ou False.
A função permite que você avalie qualquer valor e dê a você True ou False em troca.
Quase qualquer valor é avaliado True se tiver algum tipo de conteúdo.
Qualquer string éTrue, exceto strings vazias.
Qualquer número é True, exceto 0.
Qualquer lista, tupla, conjunto e dicionário sãoTrue, exceto os vazios.
Na questão, X, Y e Z têm como resultado True; na final, é realizado um teste lógico e, neste caso, todos os valores são True, então será impresso na tela o resultado True
-
A questão e o gabarito definitivo dela ficaram assim como a banca: Uma bost@, não dá pra saber se as aspas duplas são para referenciação ou parte do resultado, dúbia.
-
Primeiramente, devemos saber quando que um dado booleano será considerado como falso. Fora dessas hipóteses, o valor será dado como verdadeiro. A falsidade ocorre nas seguintes situações:
I. False (falso)
x= bool(False)
print(x)
False
No caso da questão, ele colocou entre aspas, virando uma string não nula, ou seja, possuirá valor verdadeiro.
II. None (nulo)
x=bool(None)
print(x)
False
III. 0 (zero)
x=bool(0)
print (x)
False
Atenção! Se o zero vier entre aspas, o número virará uma string e possuirá valor verdadeiro.
IV. "" (string vazia)
x=bool("")
print(x)
False
V. [] (lista vazia)
x=bool([])
print(x)
False
VI. () (tupla vazia)
x= bool(())
print(x)
False
VII. {} (dicionário vazio)
x=bool({})
print(x)
False
Os operadores booleanos em python são: and, or, not, is e in.
- and: retorna um valor verdadeiro se e somente se as duas expressões forem verdadeiras.
- or: retorna um valor falso se e somente se as duas expressões forem falsas
- not: muda o valor de seu argumento, ou seja, not True é False, e not False é True.
- is: retorna verdadeiro se receber duas referências ao mesmo objeto e falso caso contrário
- in: retorna verdadeiro se receber um item e uma lista e o item ocorrer pelo menos uma vezes na lista e falso caso contrário.
No caso da questão, todos os valores possuem como resposta True. Logo, a operação and retomará True.
O erro foi da banca em colocar entre aspas, que tornou o resultado como uma string, e não um dado booleano.
Fonte: https://www.codigofluente.com.br/aula-10-python-tipo-bool-e-operadores/
-
Acertei, pelo motivo errado. kkkk
-
x = bool(-3)
y = bool("True"*x)
z = bool("False")
print (x and y and z)
True
Por que true?
Quando é teclado "print (x and y and z), AND=VERDADE. Quer dizer, todos são verdadeiros? True.
Ex: que daria False.
print ((9<7) and (2<4))
False.
Motivo: 9 não é menor que 7 (false), e 2 é menor que 4 (true).
Outro Exemplo:
print ((9>7) and (2<4))
True.
Motivo: 9 é maior que 7 (true), e 2 é menor que 4 (true).
Como gravei:
Comparei o "and" e "or" no raciocínio lógico.
And= "E" de exigente. Os dois devem ser verdadeiro.
Or= "ou" ao menos um deve ser verdadeiro.
Fonte: Estudos Gran curso.
Confirmação: https://replit.com/languages/python3
Sei que foi anulada, mas tentei explicar caso estivesse true, invés de "true".
-
Simples e objetivo para o entendimento:
A função bool() retorna sempre True, exceto ser o parâmetro de entrada for: False, 0 ou vazio.
Como assim?
Vejam só:
bool(False ) = False
bool(0) = False
bool() = False
Em todos os outros casos, ele retornará True! Lembrem-se que False é diferente “False ”:
o primeiro é um booleano e o segundo é uma String. Logo...
bool(False ) = False
bool(”False ”) = True
Dito isso, vejamos qual seria o resultado do código:
bool(-3) = True #Não é nenhuma das exceções, logo retornará True
bool(“True”*x) = True #String é True , multiplicado por x (True ) retornará True
bool(“True”) = True #String sempre retornará True
bool(x and y and z) #x, y, z = True , logo x and y and z = True
O gabarito preliminar veio como verdadeiro, porque realmente o resultado é True.
No entanto, a banca mudou o entendimento no gabarito definitivo porque a palavra True veio entre aspas – o que seria uma string e, não, um booleano. Eu acho que as aspas deixaram a questão ambígua e, não, errada.
No entanto, o gabarito definitivo foi errado..
Fonte: Diego Carvalho, Estratégia Concursos.
Marcações e cores: Eu
#PCDF
-
é isso ai mesmo.
-
a plataforma poderia colocar videos aulas sobre programação....
-
O trecho de código y = bool("True"*x) está INCORRETO.
A justificativa da banca está completamente equivocada em considerar como gabarito o resultado "TRUE" sem aspa. O código nem roda, pois o "x" é uma variável não declarada. A função bool() com argumento diferente de FALSE, 0 e VAZIO retorna TRUE, porém o argumento deve respeitar as regras da linguagem, o qualquer coisa diferente de FALSE, 0 e VAZIO NÃO É LITERALMENTE QUALQUER COISA, mas sim argumentos VÁLIDOS dentro da linguagem.
A resposta é incorreta independente do resultado está entre aspas ou não!
-
Baseei-me na tabela verdade!!