Menu
Coddy logo textTech

Логические операторы (AND, OR)

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

Операторы сравнения позволяют проверять одно условие, но что, если вам нужно проверить несколько условий одновременно? Логические операторы позволяют комбинировать условия и создавать более сложные выражения.

Оператор И (&&) возвращает TRUE только тогда, когда оба условия истинны:

age <- 25
has_license <- TRUE

can_drive <- age >= 18 && has_license  # TRUE

Если любое из условий ложно, все выражение становится ложным. Думайте об этом как о требовании выполнения всех условий.

Оператор ИЛИ (||) возвращает TRUE, когда хотя бы одно условие истинно:

is_weekend <- TRUE
is_holiday <- FALSE

day_off <- is_weekend || is_holiday  # TRUE

Оператор OR возвращает false только тогда, когда оба условия ложны. Вот краткая справка:

ABA && BA || B
TRUETRUETRUETRUE
TRUEFALSEFALSETRUE
FALSETRUEFALSETRUE
FALSEFALSEFALSEFALSE

Вы можете объединять несколько условий в одном выражении, используя эти операторы вместе, создавая мощные логические проверки для ваших программ.

challenge icon

Задание

Легко

Определите возможность участия в различных мероприятиях, используя операторы И (&&) и ИЛИ (||).

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

age <- 17
has_permission <- TRUE
is_member <- FALSE
has_ticket <- TRUE

Используйте логические операторы для создания следующих переменных:

  1. Создайте переменную с именем can_enter_club, которая хранит TRUE, если человеку 18 лет или больше И он является участником
  2. Создайте переменную с именем can_watch_movie, которая хранит TRUE, если человеку 18 лет или больше ИЛИ у него есть разрешение
  3. Создайте переменную с именем can_attend_event, которая хранит TRUE, если у человека есть билет И он является участником
  4. Создайте переменную с именем gets_discount, которая хранит TRUE, если человек является участником ИЛИ ему меньше 18 лет (возраст меньше 18)
  5. Создайте переменную с именем vip_access, которая хранит TRUE, если человеку 18 лет или больше И он является участником И у него есть билет

Используйте функцию print() для отображения can_enter_club, can_watch_movie, can_attend_event, gets_discount и vip_access именно в таком порядке.

Шпаргалка

Логические операторы позволяют объединять несколько условий в R.

Оператор И (&&) возвращает TRUE только тогда, когда оба условия истинны:

age <- 25
has_license <- TRUE

can_drive <- age >= 18 && has_license  # TRUE

Оператор ИЛИ (||) возвращает TRUE, когда хотя бы одно условие истинно:

is_weekend <- TRUE
is_holiday <- FALSE

day_off <- is_weekend || is_holiday  # TRUE

Таблица истинности для логических операторов:

ABA && BA || B
TRUETRUETRUETRUE
TRUEFALSEFALSETRUE
FALSETRUEFALSETRUE
FALSEFALSEFALSEFALSE

Вы можете объединять несколько условий в одном выражении для создания сложных логических проверок.

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

# Заданные переменные
age <- 17
has_permission <- TRUE
is_member <- FALSE
has_ticket <- TRUE

# TODO: Напишите ваш код ниже
# Создайте следующие переменные, используя логические операторы (&&, ||):
# 1. can_enter_club - TRUE, если age >= 18 И is_member
# 2. can_watch_movie - TRUE, если age >= 18 ИЛИ has_permission
# 3. can_attend_event - TRUE, если has_ticket И is_member
# 4. gets_discount - TRUE, если is_member ИЛИ age < 18
# 5. vip_access - TRUE, если age >= 18 И is_member И has_ticket



# Выведите результаты по порядку
print(can_enter_club)
print(can_watch_movie)
print(can_attend_event)
print(gets_discount)
print(vip_access)
quiz iconПроверьте себя

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

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