Operadores Lógicos Parte 2 (NOT)
Parte da seção Fundamentos do Journey de R da Coddy — lição 18 de 78.
O operador NOT (!) inverte um valor lógico para o seu oposto. Ele transforma TRUE em FALSE e FALSE em TRUE.
is_raining <- TRUE
!is_raining # FALSE
is_closed <- FALSE
!is_closed # TRUEEste operador é útil quando você deseja verificar se algo não é o caso. Por exemplo, em vez de verificar se um usuário está logado, você pode precisar verificar se ele não está logado:
logged_in <- FALSE
if (!logged_in) {
# Exibir prompt de login
}Você pode combinar NOT com os operadores AND e OR para criar condições mais complexas:
has_ticket <- TRUE
is_vip <- FALSE
# Pode entrar se tiver um ingresso E NÃO for um VIP (entrada regular)
regular_entry <- has_ticket && !is_vip # TRUEVeja como o NOT transforma valores lógicos:
| A | !A |
|---|---|
| TRUE | FALSE |
| FALSE | TRUE |
Desafio
FácilAplique o operador NOT (!) para inverter valores lógicos e combine-o com outros operadores lógicos.
Você recebeu as seguintes variáveis:
is_raining <- TRUE
has_umbrella <- FALSE
is_weekend <- TRUE
has_homework <- TRUE
is_tired <- FALSEUse o operador NOT junto com os operadores AND e OR para criar as seguintes variáveis:
- Crie uma variável chamada
stay_dryque armazena o oposto deis_raining - Crie uma variável chamada
will_get_wetque armazenaTRUEse estiver chovendo E a pessoa NÃO tiver um guarda-chuva - Crie uma variável chamada
can_relaxque armazenaTRUEse for fim de semana E a pessoa NÃO tiver lição de casa - Crie uma variável chamada
should_go_outque armazenaTRUEse NÃO estiver chovendo OU a pessoa tiver um guarda-chuva - Crie uma variável chamada
productive_dayque armazenaTRUEse a pessoa NÃO estiver cansada E NÃO for fim de semana
Use a função print() para exibir stay_dry, will_get_wet, can_relax, should_go_out e productive_day exatamente nessa ordem.
Folha de consulta
O operador NOT (!) inverte um valor lógico para o seu oposto:
is_raining <- TRUE
!is_raining # FALSE
is_closed <- FALSE
!is_closed # TRUEUse NOT para verificar se algo não é o caso:
logged_in <- FALSE
if (!logged_in) {
# Show login prompt
}Combine NOT com os operadores AND (&&) e OR (||):
has_ticket <- TRUE
is_vip <- FALSE
regular_entry <- has_ticket && !is_vip # TRUE| A | !A |
|---|---|
| TRUE | FALSE |
| FALSE | TRUE |
Experimente você mesmo
# Variáveis fornecidas
is_raining <- TRUE
has_umbrella <- FALSE
is_weekend <- TRUE
has_homework <- TRUE
is_tired <- FALSE
# TODO: Escreva seu código abaixo
# Use o operador NOT (!) junto com os operadores AND (&) e OR (|)
# para criar as variáveis necessárias
# 1. stay_dry - oposto de is_raining
# 2. will_get_wet - TRUE se estiver chovendo E NÃO tiver guarda-chuva
# 3. can_relax - TRUE se for fim de semana E NÃO tiver lição de casa
# 4. should_go_out - TRUE se NÃO estiver chovendo OU tiver guarda-chuva
# 5. productive_day - TRUE se NÃO estiver cansado E NÃO for fim de semana
# Imprima os resultados em ordem
print(stay_dry)
print(will_get_wet)
print(can_relax)
print(should_go_out)
print(productive_day)Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores Parte 2
Operadores Lógicos (AND, OR)Operadores Lógicos Parte 2 (NOT)Recapitulação - Lógica SimplesLógica Vetorizada Parte 1Lógica Vetorizada Parte 27Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo a Entrada do Usuário10FizzBuzz com um Toque Especial
Visão Geral do JogoA Função FizzBuzz2Variáveis e Tipos de Dados
Tipo de Dado NuméricoTipo de Dado InteiroTipo de Dado CaractereTipo de Dado LógicoVerificando Tipos de DadosConvenções de NomenclaturaValores Ausentes: NARecapitulação - Criação de Variáveis8Laços de Repetição
Laço ForLaço WhileBreakNext (Continue)Recapitulação - FatorialGeração de Sequências (seq, :)Laços AninhadosRecapitulação - Entrada Dinâmica3Operadores Parte 1
Operadores AritméticosDivisão Inteira e MóduloOperadores de AtribuiçãoRecapitulação - Matemática SimplesOperadores de Comparação6IO Básico
Saída com PrintCat para SaídaSaída com VariáveisLendo Entrada com readline()Básico de Conversão de TiposRecapitulação - Calculadora de IdadeRecapitulação - Verdadeiro ou Falso9Funções
Declarando uma FunçãoArgumentos de FunçãoValores de RetornoRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores de Parâmetro Padrão