Menu
Coddy logo textTech

Логические операторы. Часть 2 (NOT)

Часть раздела Основы путешествия по R на Coddy — урок 18 из 78.

Оператор NOT (!) меняет логическое значение на противоположное. Он превращает TRUE в FALSE, а FALSE — в TRUE.

is_raining <- TRUE
!is_raining  # FALSE

is_closed <- FALSE
!is_closed   # TRUE

Этот оператор полезен, когда вы хотите проверить, что какое-либо условие не выполняется. Например, вместо того чтобы проверять, авторизован ли пользователь, вам может потребоваться проверить, что он не авторизован:

logged_in <- FALSE
if (!logged_in) {
  # Показать окно входа
}

Вы можете комбинировать NOT с операторами AND и OR для создания более сложных условий:

has_ticket <- TRUE
is_vip <- FALSE

# Может войти, если есть билет И НЕ является VIP-персоной (обычный вход)
regular_entry <- has_ticket && !is_vip  # TRUE

Вот как NOT преобразует логические значения:

A!A
TRUEFALSE
FALSETRUE
challenge icon

Задание

Легко

Примените оператор НЕ (!), чтобы инвертировать логические значения, и комбинируйте его с другими логическими операторами.

Вам предоставлены следующие переменные:

is_raining <- TRUE
has_umbrella <- FALSE
is_weekend <- TRUE
has_homework <- TRUE
is_tired <- FALSE

Используйте оператор НЕ вместе с операторами И и ИЛИ для создания следующих переменных:

  1. Создайте переменную с именем stay_dry, которая хранит значение, противоположное is_raining
  2. Создайте переменную с именем will_get_wet, которая хранит TRUE, если идет дождь И у человека НЕТ зонта
  3. Создайте переменную с именем can_relax, которая хранит TRUE, если сейчас выходной И у человека НЕТ домашнего задания
  4. Создайте переменную с именем should_go_out, которая хранит TRUE, если дождя НЕТ ИЛИ у человека есть зонт
  5. Создайте переменную с именем productive_day, которая хранит TRUE, если человек НЕ устал И сейчас НЕ выходной

Используйте функцию print() для отображения stay_dry, will_get_wet, can_relax, should_go_out и productive_day именно в таком порядке.

Шпаргалка

Оператор NOT (!) меняет логическое значение на противоположное:

is_raining <- TRUE
!is_raining  # FALSE

is_closed <- FALSE
!is_closed   # TRUE

Используйте NOT, чтобы проверить, что условие не выполняется:

logged_in <- FALSE
if (!logged_in) {
  # Показать окно входа
}

Комбинируйте NOT с операторами AND (&&) и OR (||):

has_ticket <- TRUE
is_vip <- FALSE

regular_entry <- has_ticket && !is_vip  # TRUE
A!A
TRUEFALSE
FALSETRUE

Попробуйте сами

# Заданные переменные
is_raining <- TRUE
has_umbrella <- FALSE
is_weekend <- TRUE
has_homework <- TRUE
is_tired <- FALSE

# TODO: Напишите свой код ниже
# Используйте оператор НЕ (!) вместе с операторами И (&) и ИЛИ (|)
# чтобы создать необходимые переменные

# 1. stay_dry - противоположность is_raining

# 2. will_get_wet - TRUE, если идет дождь И НЕТ зонта

# 3. can_relax - TRUE, если выходной И НЕТ домашнего задания

# 4. should_go_out - TRUE, если НЕТ дождя ИЛИ есть зонт

# 5. productive_day - TRUE, если НЕ устал И НЕ выходной

# Выведите результаты по порядку
print(stay_dry)
print(will_get_wet)
print(can_relax)
print(should_go_out)
print(productive_day)
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы