Функция FizzBuzz
Часть раздела Основы путешествия по R на Coddy — урок 53 из 78.
Задание
ЛегкоВ предыдущем уроке вы создали функцию check_divisible. Теперь создайте основную функцию fizzbuzz, которая определяет, что выводить для одного числа.
Создайте функцию с именем fizzbuzz, которая принимает один аргумент: n. Функция должна возвращать:
"FizzBuzz", еслиnделится и на 3, и на 5"Fizz", еслиnделится только на 3"Buzz", еслиnделится только на 5- Само число (как символьную строку), если ни одно из вышеперечисленных условий не выполняется
Используйте as.character() для преобразования числа в строку при возврате самого числа.
Прочитайте число из входных данных, преобразуйте его в числовое значение и вызовите функцию fizzbuzz. Выведите полученный результат.
Например, если на входе:
15Выходные данные должны быть:
[1] "FizzBuzz"Если на входе:
9Выходные данные должны быть:
[1] "Fizz"Если на входе:
10Выходные данные должны быть:
[1] "Buzz"Если на входе:
7Выходные данные должны быть:
[1] "7"Попробуйте сами
# Read input
con <- file("stdin", "r")
number <- as.numeric(suppressWarnings(readLines(con, n = 1)))
divisor <- as.numeric(suppressWarnings(readLines(con, n = 1)))
# TODO: Create a function called check_divisible that takes two arguments:
# number and divisor. Return TRUE if number is divisible by divisor, FALSE otherwise.
check_divisible <- function(number, divisor) {
return(number %% divisor == 0)
}
# Call your function and print the result
print(check_divisible(number, divisor))Все уроки раздела Основы
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)Функции для работы со строками