Menu
Coddy logo textTech

Генерация последовательностей (seq, :)

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

Ты использовал 1:5, чтобы создавать последовательности в своих циклах. Этот оператор с двоеточием быстр и прост, но R также предоставляет функцию seq() для большего контроля над последовательностями.

Оператор двоеточия создаёт последовательность последовательных целых чисел:

print(1:5)
print(10:6)

Вывод:

[1] 1 2 3 4 5
[1] 10 9 8 7 6

Обрати внимание, что sequence может идти в любом направлении. Когда первое number больше, sequence counts down.

Функция seq() предоставляет больше гибкости. Вы можете указать размер шага с помощью аргумента by:

print(seq(2, 10, by = 2))

Результат:

[1] 2 4 6 8 10

Это создаёт чётные числа от 2 до 10.

Вы также можете Specify, сколько number вы хотите, using length.out:

print(seq(1, 10, length.out = 4))

Результат:

[1] 1 4 7 10

R автоматически рассчитывает интервал, чтобы вы получили ровно 4 равномерно расположенных числа. Оба подхода без проблем работают в циклах, позволяя легко iterate по пользовательским последовательностям.

challenge icon

Задание

Легко

Прочитайте из input три числа: start, end и step.

Используйте функцию seq(), чтобы generate sequence от start до end с заданным размером step. Затем используйте цикл for, чтобы iterate through эту sequence и вывести квадрат каждого number.

Каждое значение квадрата должно быть напечатано в отдельной строке с использованием print().

Например, если input — это 2, 10 и 2, output должен быть таким:

[1] 4
[1] 16
[1] 36
[1] 64
[1] 100

Это происходит потому, что создаётся sequence 2, 4, 6, 8, 10, и каждое number возводится в квадрат.

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

# Чтение ввода
con <- file("stdin", "r")
start <- as.numeric(suppressWarnings(readLines(con, n = 1)))
end <- as.numeric(suppressWarnings(readLines(con, n = 1)))
step <- as.numeric(suppressWarnings(readLines(con, n = 1)))

# TODO: Напишите ваш код ниже
# 1. Используйте seq() для генерации последовательности от start до end с заданным шагом step
# 2. Используйте цикл for для перебора последовательности
# 3. Выведите квадрат каждого числа с помощью print()
quiz iconПроверьте себя

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

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

Потренируйтесь самостоятельно: Онлайн-компилятор R