Оператор if
Часть раздела Основы путешествия по R на Coddy — урок 22 из 78.
Теперь, когда вы знаете, как создавать логические выражения, пришло время заставить ваши программы на самом деле делать что-то на основе этих условий. Инструкция if позволяет вашему коду принимать решения.
Оператор if выполняет блок кода только тогда, когда условие TRUE:
temperature <- 35
if (temperature > 30) {
print("It's hot outside!")
}Когда R встречает инструкцию if, он вычисляет условие внутри круглых скобок. Если результат равен TRUE, выполняется код внутри фигурных скобок {}. Если результат FALSE, R полностью пропускает этот блок и продолжает выполнение остальной части программы.
Вы можете использовать любое выражение, которое вычисляется в логическое значение, в качестве условия, включая операторы сравнения и логические операторы, которые вы уже изучили:
age <- 20
has_id <- TRUE
if (age >= 18 && has_id) {
print("Access granted")
}Код внутри фигурных скобок выполняется только тогда, когда соблюдены оба условия. Если либо age меньше 18, либо has_id равно FALSE, ничего не происходит.
Задание
ЛегкоИспользуйте оператор if, чтобы проверить условие и вывести сообщение только в том случае, если условие равно TRUE.
Вам предоставлены следующие переменные:
balance <- 250
withdrawal_amount <- 100
is_account_active <- TRUEНапишите оператор if, который проверяет, соблюдены ли все следующие условия:
- Аккаунт активен
- Баланс больше или равен сумме снятия
Если оба условия равны TRUE, выведите сообщение "Withdrawal approved" с помощью функции print().
Если условия не соблюдены, ваш код не должен ничего выводить.
Шпаргалка
Оператор if выполняет блок кода только тогда, когда условие равно TRUE:
if (condition) {
# код, который будет выполнен, если условие TRUE
}Пример:
temperature <- 35
if (temperature > 30) {
print("It's hot outside!")
}В условии можно использовать операторы сравнения и логические операторы:
age <- 20
has_id <- TRUE
if (age >= 18 && has_id) {
print("Access granted")
}Если условие оценивается как FALSE, блок кода полностью пропускается.
Попробуйте сами
# Предоставленные переменные
balance <- 250
withdrawal_amount <- 100
is_account_active <- TRUE
# TODO: Напишите ваш код ниже
# Используйте оператор if, чтобы проверить:
# 1. Активен ли аккаунт
# 2. Баланс больше или равен сумме снятия
# Если оба условия ИСТИННЫ (TRUE), выведите "Withdrawal approved"В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 2
Логические операторы (AND, OR)Логические операторы. Часть 2 (NOT)Повторение: простая логикаВекторизованная логика. Часть 1Векторизованная логика. Часть 27Калькулятор разделения счета
Приветственное сообщениеПолучение пользовательского ввода13Векторы: продвинутый уровень
Срезы и индексация векторовЛогическая индексацияАрифметика и ресайклинг векторовОператор %in%2Переменные и типы данных
Числовой тип данныхЦелочисленный тип данныхСимвольный тип данныхЛогический тип данныхПроверка типов данныхПравила именованияПропущенные значения: NAИтоги — создание переменных5Принятие решений
Оператор ifКонструкция if - elseПовторение: Простой калькуляторВложенные конструкции if - else8Циклы
Цикл ForЦикл WhileBreakNext (Continue)Повторение: ФакториалГенерация последовательностей (seq, :)Вложенные циклыПовторение: Динамический ввод3Операторы. Часть 1
Арифметические операторыЦелочисленное деление и остаток от деленияОператоры присваиванияПовторение: простая математикаОператоры сравнения6Основы ввода-вывода
Вывод через printКоманда cat для выводаВывод с переменнымиЧтение ввода через readline()Основы преобразования типовПовторение — Калькулятор возрастаПовторение — Истина или ложь9Функции
Объявление функцииАргументы функцииВозвращаемые значенияПовторение — функция SigmaПовторение — функция валидацииЗначения параметров по умолчанию12Итерация по последовательностям
Итерация по элементам вектораИспользование seq_along()Итерация по символам (strsplit)Функции для работы со строками