Конструкция If - Else
Часть раздела Основы путешествия по Ruby на Coddy. Урок 22 из 88.
Иногда программе нужно выбрать один из двух разных путей. Ключевое слово else позволяет указать, что должно произойти, когда условие if ложно:
age = 15
if age >= 18
puts "You can vote!"
else
puts "You're too young to vote."
endВ этом примере, поскольку age равно 15, условие age >= 18 ложно, поэтому Ruby пропускает первый блок и вместо этого выполняет код после else. Программа выведет "You're too young to vote."
С помощью if-else всегда выполняется ровно один из двух блоков. Если условие истинно, выполняется первый блок. Если оно ложно, выполняется второй блок:
balance = 100
withdrawal = 150
if balance >= withdrawal
puts "Withdrawal successful"
else
puts "Insufficient funds"
endЭта структура идеально подходит, когда у вас есть два взаимоисключающих результата. Программа должна пойти по одному пути или по другому — никогда по обоим и никогда ни по одному.
Задание
ЛегкоВам предоставлены следующие переменные:
temperature = 35
has_umbrella = false
account_balance = 50
withdrawal_amount = 75
player_score = 100
high_score = 100Используйте операторы if-else, чтобы оценить каждый сценарий ниже. Выведите соответствующее сообщение в зависимости от того, является ли условие истинным или ложным.
- Если
temperatureбольше30, выведитеIt's hot outside. В противном случае выведитеThe weather is nice. - Если
has_umbrellaимеет значениеtrue, выведитеYou're prepared for rain. В противном случае выведитеYou might get wet. - Если
account_balanceбольше или равенwithdrawal_amount, выведитеWithdrawal approved. В противном случае выведитеInsufficient funds. - Если
player_scoreбольшеhigh_score, выведитеNew high score!. В противном случае выведитеTry again. - Если
temperatureменьше0илиtemperatureбольше40, выведитеExtreme weather. В противном случае выведитеNormal conditions.
Каждое сообщение должно отображаться на отдельной строке.
Попробуйте сами
# Переменные уже определены для вас
temperature = 35
has_umbrella = false
account_balance = 50
withdrawal_amount = 75
player_score = 100
high_score = 100
# TODO: Напишите ваш код ниже
# Используйте операторы if-else для оценки каждого сценария и вывода соответствующего сообщенияВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 3Логические операторы. Часть 47Калькулятор разделения счета
Приветственное сообщениеПолучение пользовательского ввода13Продвинутая работа с массивами
Срезы массивов через диапазоныСрезы массивов через индексыОператоры массивовМетод include?2Переменные и типы данных
Числа и переменныеСтроковый тип данныхЛогический тип данныхТип данных SymbolПроверка типов данныхПравила именованияПовторение: создание переменных5Принятие решений
Оператор IfКонструкция If - ElseПовторение — Простой калькуляторВложенные конструкции If - ElseОператор Unless8Циклы
Цикл For с диапазонамиЦикл WhileОператор BreakОператор NextПовторение: ФакториалЦикл TimesЦикл UntilВложенные циклыПовторение: Динамический ввод3Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСокращенная арифметикаИтоги: простая математикаОператоры сравнения6Основы ввода-вывода
Вывод с помощью putsВывод с помощью print и pВывод с переменнымиВвод с помощью getsМетод chompПреобразование типовИтоги — Калькулятор возрастаИтоги — Истина или ложьПотренируйтесь самостоятельно: Онлайн-компилятор Ruby