Урок 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.