Programming Taskbook


E-mail:

Пароль:

Регистрация пользователя   Восстановление пароля

 

ЮФУ SMBU

Электронный задачник по программированию

©  М. Э. Абрамян (Южный федеральный университет, Университет МГУ-ППИ в Шэньчжэне), 1998–2025

 

Решения | Python и R | Особенности использования

PrevNext


Об особенностях использования некоторых групп учебных заданий для языков Python и R

Язык Python

Группа Case. Поскольку в языке Python до версии 3.10 отсутствовал оператор выбора, задания из группы Case следует выполнять с использованием полного варианта оператора if: if–elif–else.

Группа Series. При выполнении заданий из данной группы не требуется использовать сложные типы данных (в частности, списки); достаточно последовательно сохранять элементы исходных данных в одной целочисленной или вещественной переменной и выполнять их немедленную обработку.

Группа Func. Данная группа была разработана специально для языка Python и подобных ему языков (Ruby, Julia и R). Входящие в нее задания аналогичны заданиям из стандартной группы Proc, однако формулировки части заданий изменены с учетом особенностей языка Python, связанных с передачей параметров (в языке Python нельзя передавать по ссылке параметры скалярных типов, и в то же время функции могут возвращать набор значений, представленный в виде кортежа). Для языков Python, Ruby, Julia и R группа Func полностью аналогична группе ZFunc.

Группы Array и Matrix. Поскольку в языке Python отсутствует встроенный тип «массив», в данных группах надо использовать другие встроенные типы, связанные с обработкой последовательностей (в частности, списки). Для хранения матриц (двумерных таблиц чисел) следует использовать списки, состоящие из числовых списков, хранящих строки или столбцы матрицы. Соответствующие примеры приведены в разделе «Обработка последовательностей». Поскольку индексирование списков и других структур данных в языке Python начинается с 0, удобнее использовать группы ZArray и ZMatrix, в которых предполагается, что наборы данных индексируются от 0.

Группа File. Стандартные функции языка Python, связанные с вводом-выводом данных для двоичных файлов, не предусматривают прямой обработки числовых типов, поэтому при чтении и записи числовых данных могут потребоваться специальные методы unpack и pack, реализованные в модуле struct (см. соответствующие примеры в разделе «Обработка файлов»).

Язык R

Группа Case. Поскольку в языке R отсутствует оператор выбора, задания из группы Case следует выполнять с использованием оператора if: if–else if–else.

Группа Series. При выполнении заданий из данной группы не требуется использовать векторы из нескольких элементов; достаточно последовательно сохранять элементы исходных данных в одной целочисленной или вещественной переменной (векторе длины 1) и выполнять их немедленную обработку.

Группа Func. Как было отмечено выше при рассмотрении языка Python, данная группа была разработана специально для языка Python и подобных ему языков (Ruby, Julia и R). Входящие в нее задания аналогичны заданиям из стандартной группы Proc, однако формулировки части заданий изменены с учетом особенностей языка Python, связанных с передачей параметров (в языке Python нельзя передавать по ссылке параметры скалярных типов, и в то же время функции могут возвращать набор значений, представленный в виде кортежа). Для языков Python, Ruby, Julia и R группа Func полностью аналогична группе ZFunc.

Группы Array и Matrix. В языке R для обработки одномерных и двумерных последовательностей надо использовать встроенные типы vector «вектор» и matrix «матрица». Соответствующие примеры приведены в разделе «Обработка последовательностей». Индексирование элементов векторов и матриц в R выполняется от 1, что соответствует нумерации элементов последовательностей, принятой в группах Array и Matrix.


PrevNext

 

Рейтинг@Mail.ru

Разработка сайта:
М. Э. Абрамян, В. Н. Брагилевский

Последнее обновление:
01.01.2025