(495)240-8280ПН-СБ с 12:00 до 20:00
We speak English

Урок 4.2. Списки

В данном уроке вы познакомитесь с процессом работы со списками в программировании на языке Python. Они похожи на списки в языке TI-Nspire, но все же есть некоторые различия.

Вы научитесь:

  • Создавать список через приложение Shell
  • Писать программу, содержащую список
  • Использовать функции работы со списком, например, .append()
  • Добавлять элементы в список
  • Использовать инструменты работы со списком из меню
  • Анализировать список: находить среднее значение

1. Прежде всего, для начала работы со списком в программировании на языке Python вам понадобится приложение Shell. В любом приложении Shell можно найти основные функции для работы со списками, такие как list(), .append() и так далее. Все они находятся в меню: menu > Built-ins > Lists.

Оператор присваивания

a = list(range(0,5,1))

или

a = list(range(5))

сохраняет числа от 0 до 4 в переменную a в виде списка.

Функция range() нужна для ввода чисел, а функция list() организует их в список. Обе функции можно найти в меню: menu > Built-ins > Lists.

Нажатие на enter сохраняет список в переменной.

Чтобы посмотреть список, просто введите название переменной a и нажмите enter.

Элементы списка можно отыскать по индексу, НО помните, что индекс первого элемента списка равен 0.

В списке a есть 5 элементов: 0, 1, 2, 3 и 4. Соответственно, их индексы будут равны 0, 1, 2, 3 и 4. То есть в 5-элементном списке не существует элемента a[5]. Список a будет выглядеть следующим образом:

Индекс списка или элемент списка можно представить в виде переменных. Вы увидите это на примере немного позже...

Примечание для учителя: В языке программирования TI-Nspire индекс списка начинается с 1. В языке Python первый индекс равен 0. Если вы чаще работаете со списками на языке TI-Nspire, то придется привыкнуть к этой разнице. Существуют и другие способы создания списка, например:
Функция a = [0] * 5 создает 5-элементный список, все значения в котором равны нулю: [0, 0, 0, 0, 0]. Странно, не правда ли? В этом особенность языка Python, в котором присутствует такая функция быстрого доступа. Попробуйте ввести "Hello" * 5 в подсказке приложения Shell! В последовательностях на языке Python (списках или строках символов) символ * является оператором "дублирования".

2. Напишите программу, в которой будет использоваться список из введенных чисел. Но сначала нужно указать, сколько всего чисел вы планируете ввести.

В новом файле Python используйте выражение input(), чтобы задать количество вводимых чисел (в примере мы использовали переменную amt).

3. Создайте пустой список с помощью оператора присваивания:

nums=[ ]

Этот список будем использовать для хранения всех введенных чисел.

Ввести две квадратные скобки можно легко с помощью комбинации ctrl+( или найти их через меню: menu > Built-ins > Lists.

4. Для ввода чисел добавьте цикл с оператором for.

Используйте индекс цикла i. Значение диапазона - это переменная amt, которая представляет собой количество вводимых чисел.

Что касается области блока (block)...

5. ...напишите выражение print, в котором пользователю нужно будет указать значение индекса i - индекс списка или "Номер элемента" (Element number).

Затем напишите выражение input для ввода числа. Используйте функцию float(), которая позволяет работать с десятичными значениями:

value = float(input("Enter value: "))

Примечание для учителя: Можно включить номер элемента (i) в подсказку выражения input
value = float(input("Element number " + str(i) + ": "))
но тогда вам потребуется использовать функцию str( ) для конвертирования числа i в строку, и понимать, как происходит конкатенация строк.
Подсказка выражения input не должна включать в себя более одного аргумента, поэтому запись:
value = float((input("Element number", i ":")
НЕ РАБОТАЕТ! В ней слишком много аргументов.

6. Чтобы добавить значения в список, используйте следующую функцию языка Python:

nums.append(value)

Это будет последнее выражение в блоке (block) цикла.

Нажмите на backspace (del), чтобы оставить следующую строку пустой перед тем, как записать последний фрагмент кода.

Примечание для учителя: Разделяющая точка в выражении nums.append() необходима, потому что .append() является компонентной функцией (методом) класса списка, встроенного в язык программирования Python. Это типичное явление для таких объектно-ориентированных языков программирования как Python, и мы используем эти методы, даже когда сами не пишем программы на объектно-ориентированном языке программирования.
Еще один способ объединить списки или добавить элементы: Выражение nums=nums + [value] добавляет (присоединяет) список [value] к концу списка [nums]. В этом отличие программирования на языке Python от языка TI-Nspire.

7. Отобразите список с помощью всего одного выражения:

print(nums)

Вам полезно будет потренироваться и протестировать свою программу. После запуска программы укажите количество чисел, которые нужно ввести, а затем поочередно введите каждое значение. Выражение print подскажет вам, какой элемент вы вводите, но помните, что счет начинается с 0.

После ввода чисел вы увидите отображенный список в квадратных скобках, например, вот такой: [45, 43, 89, 25] (Ваши цифры, конечно, будут другими)

8. В программировании на языке Python также есть и другие полезные функции для работы со списками.

Снова откройте меню: menu > Built-ins > Lists.

Пролистайте пункты в самый низ.

9. В меню Lists найдите функцию sum(). Чтобы вычислить среднее значение списка, используйте следующую формулу:

mean = sum(nums) / amt

Какие дополнительные данные можно еще отобразить?

Можно ли также найти "среднее геометрическое" значение?

Примечание для учителя: Списки играют важную роль в программировании, и в языке Python существуют многие другие функции и техники обработки списков. А в модуле ti_system языка TI-Nspire есть функции переноса списков из программ и реальных значений на языке Python в переменные на языке TI-Nspire и, наоборот, из переменных TI-Nspire в язык Python.