Когда прерывать цикл?
Порядок выполнения кода внутри цикла и момент проверки условия выхода имеют большое значение. Приведённые ниже варианты запустят code разное количество раз.
# Сначала код, затем проверка условия
repeat {
code
if(condition) {
break
}
}
# Сначала проверка условия, затем код
repeat {
if(condition) {
break
}
code
}
Рассмотрим это на расширенной версии предыдущего упражнения. Для наглядности функция runif() заменена статическим множителем, чтобы исключить случайность.
Это упражнение является частью курса
Средний уровень R для финансов
Инструкции к упражнению
- Структура цикла
repeatуже создана. Заполните пропуски так, чтобы цикл проверял, опустилась лиstock_priceниже66, и выполнялbreakв этом случае. Запустите код и обратите внимание на то, сколько раз было выведено значение цены акции. - Переместите оператор
print(stock_price)после оператора if, но оставьте его внутри цикла repeat. Запустите скрипт снова — сколько раз теперь была выведенаstock_price?
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Stock price
stock_price <- 67.55
___ {
# New stock price
stock_price <- stock_price * .995
print(stock_price)
# Check
if(stock_price ___ ___) {
print("Stock price is below 66! Buy it while it's cheap!")
___
}
}