Перейти к содержанию
MediaSchool

Одномерные массивы. Список Python, индексы и заполнение

Одномерный числовой массив представляется списком целых Python 3; длина и индексы от 0 до n−1. Создать массив вводом, по заданной формуле и подготовленным генератором случайных целых; различить проверяемые границы генерации и конкретный случайный результат. Найти ошибку выхода за границу на малом массиве. Используются готовые каркасы, размер и допустимые значения заданы в условии.

Открыт · Презентация · Методичка · Рабочий лист

Конспект урока

Представить одномерный целочисленный массив списком Python 3, различать индекс, значение и длину; читать и заменять элемент, дополнить заполнение по формуле и лично создать списки готовыми программами ввода и псевдослучайного заполнения. Сохранить четыре свои программы, выполнить их, проверить границы и сравнить два размера формульного списка.

В этом курсе одномерный числовой массив представлен обычным списком Python; сам тип list допускает и другие значения, но здесь все элементы — целые числа. В упражнениях используют неотрицательные индексы 0…n−1, где n = len(a); отрицательные индексы Python существуют, но в основных заданиях не нужны. При n = 0 список пуст, первого и последнего элемента нет. Присваивание a[i] заменяет существующий элемент и не увеличивает длину. У randint обе целые границы включены. Конкретный случайный набор заранее не задаётся. Python 3 и редактор готовят до урока; без ПК бумажный прогноз не засчитывается как собственное сохранение/исполнение. Вложенных списков, срезов, list comprehension, NumPy и установки пакетов нет.

Для основной цифровой практики нужна заранее подготовленная школьная среда из инструкции учителя. Прогноз и итог записывай на бумаге; при отсутствии техники цифровое действие проверяют на ближайшей компьютерной практике. Сохраняй первую попытку; исправления отмечай другим знаком.

Безопасное начало

Сухие руки, без напитков у техники. Провода и разъёмы не трогай, о неисправности сообщи учителю. Работай по правилам кабинета. Две полные минуты в середине урока — без экрана и заданий. Внешний ИИ, личные аккаунты и личные данные не требуются.

Что уже нужно знать

Из 8 класса: переменные, присваивание, арифметика, сравнение, while, отступы, print и простейший ввод целого. Урок 013 дал работу со своим сохранённым .py и проверкой вывода; урок 015 — разделение задачи и проверку шагов. Новое — список, индекс с нуля, len и заполнение элементов. Сумма/среднее, поиск и сортировка — следующие уроки.

S0. Есть три отдельных целых значения 4, 8, 1. Чем может быть полезна запись их под одним именем? Нужны ли для различения элементов их позиции?

Устная проба без отметки.

Индекс выбирает элемент, len считает элементы

Список Python записывают в квадратных скобках: a = [5, 0, 8]. Порядок важен. В этом курсе он представляет одномерный целочисленный массив; общий list Python может содержать разные типы, но здесь только int. Неотрицательные индексы начинаются с 0: a[0] — первый, a[2] — третий элемент, len(a) = 3. Если n > 0, последний неотрицательный индекс n−1. Отрицательные индексы в Python существуют, но сейчас не нужны. У пустого [] длина 0 и нет ни первого, ни последнего элемента; a[0] вызывает IndexError. a[i] = v заменяет существующий элемент с индексом i, длина не меняется. Добавление в конец — другая операция append(v), она не нужна для основной программы. a = [0]*n при целом n ≥ 0 создаёт n нулей; для наших целых чисел это удобная заготовка. Цикл i = 0; while i < n: a[i] = выражение; i = i+1 заполняет элементы с индексами 0…n−1; отступы и изменение i обязательны. При n = 0 тело пропускается, print(a) печатает []. Три способа заполнения: формула по индексу, int(input()) для очередного целого ввода или randint(lo, hi) для псевдослучайного целого с обеими включёнными границами. input возвращает строку, int преобразует запись целого. Конкретный случайный список не объявляют заранее и не подменяют им наблюдение. До запуска — свой прогноз; после — фактический вывод именно своего сохранённого .py. При изменении n формула сохраняется, меняется количество элементов.

ПонятиеЧто означает
Индекс iПозиция с нуля
a[i]Значение в этой позиции
len(a)Число элементов
n−1 при n>0Последний неотрицательный индекс

В Python код вводят латиницей, отрицательные целые — с обычным знаком -. Знаки [] и отступы сохраняют. Отрицательное значение элемента и отрицательный индекс — разные понятия. Срезы и вложенные списки сейчас не нужны.

Концептуальная иллюстрация. Точные данные определены условиями, таблицами и схемами; предметы на рисунке не являются входными данными.

Личная проба

C1. В Python 3 дано a = [4, 8, 1]. Индексы начинаются с нуля. Найди a[0], a[2] и len(a). Какой индекс у последнего элемента?

Одна минута лично и одна минута сравнения. В коротком варианте так же. Памятка разрешена.

Прочитать и заменить одну ячейку

Другой пример: a = [5, 0, 8]. Индексы 0,1,2; a[1]=0. После a[1] = 3 получаем [5, 3, 8], len(a)=3. Заменили вторую ячейку, остальные сохранились; не добавили четвёртую. В A1 свои четыре значения.

A1. Python 3: a = [7, 2, 9, 4], затем a[1] = 6. Запиши весь список после присваивания, его длину, значение a[2] и все допустимые неотрицательные индексы. Был ли добавлен новый элемент?

Заготовка для своей записи:

Индекс0123
До7294
После

Сначала своя запись и основание, затем сверка.

Полная пауза

Две минуты без проекции, чтения, вычислений и обсуждения. Отведи взгляд и смени позу.

Где закончить цикл заполнения

Другой правильный пример: n=2, a=[0]*n, i=0; пока i<n, записать a[i]=i+4 и увеличить i. При i=0 получаем 4, при i=1 — 5; при i=2 условие уже ложно. Итог [4,5]. К индексу 2 не обращались: он равен длине, но вне списка.

A2. Предскажи работу ошибочного кода Python 3. Какие индексы успешно запишутся, на каком i возникнет ошибка, дойдёт ли выполнение до print? Исправь только условие while и запиши итог исправленной программы.

n = 3
a = [0]*n
i = 0
while i <= n:
    a[i] = i+2
    i = i+1
print(a)

Две минуты лично и одна минута сверки ошибочного индекса и отсутствия print после отказа.

Концептуальная иллюстрация. Точные данные определены условиями, таблицами и схемами; предметы на рисунке не являются входными данными.

Три способа — свои файлы и проверенный вывод

В list-starter.py дополни только TODO выражением по индексу и сделай копию с другим n. Input-starter.py и random-starter.py — заранее готовые алгоритмы: прочитай их, сохрани свои копии и лично запусти. Для ввода предскажи порядок заданных значений, для случайного заполнения — только длину, тип и диапазон. Запиши фактический вывод всех четырёх своих файлов; готовая программа не заменяет собственного сохранения и запуска.

СпособСвой результат работы
ФормулаДополненный .py и копия с другим n
ВводСвой .py, три введённые строки и список
СлучайноСвой .py, фактический список и свойства

B1. Личная практика: три способа заполнения списка. 1. Открой list-starter.py в заранее подготовленном Python 3. Строка a[i] = 0 помечена TODO. При n = 5 требуется a[i] = 2*i+1 для i = 0…n−1. Сам замени правую часть строки. До запуска запиши прогноз списка и len(a). Сохрани свой list_A.py или list_B.py в личную папку места, проверь путь и запусти именно его. Запиши фактические две строки вывода.

  1. Сохрани отдельную копию experiment_A.py/experiment_B.py. Измени только n с 5 на 3, запиши новый прогноз, сохрани и запусти копию. Сравни списки, длины и последние допустимые неотрицательные индексы.

  2. Открой готовый input-starter.py: алгоритм ввода уже написан. Прочитай код. Сохрани свою копию input_A.py/input_B.py и запиши прогноз порядка трёх значений. Запусти свой файл и введи три отдельные строки, во второй и третьей позиции именно 0 и целое с обычным минусом ASCII -:

8
0
-3

Запиши реальный полный список.

  1. Открой готовый random-starter.py: генератор уже написан. Сохрани свою копию random_A.py/random_B.py. До запуска укажи только проверяемые свойства: длина 4, все значения — целые от 1 до 6 включительно; повторы допустимы. Конкретные будущие четыре числа не предсказывай. Запусти свой файл, выпиши фактический список и проверь каждое из названных свойств.

У каждого четыре своих .py и четыре реальных запуска. В журнале — свои имена/пути, прогнозы или свойства до запуска, фактический вывод и сравнение. Чужой экран не заменяет своё сохранение и исполнение.

Заготовка для своей записи:

ВариантМой прогноз: список/длинаФакт: список/длина
n = 5
n = 3

Шестнадцать минут: 1 инструкция, 7 первый ученик, 7 второй, 1 личная сверка; на 30 ПК параллельно. У каждого четыре своих файла и четыре реальных запуска. Три исходника и папки уже открыты до урока; ожидающий пишет свой прогноз/анализ.

Проверка вымышленного ответа ИИ

AI1. Вымышленный ИИ утверждает: «Если a = [3, 5], то a[0] = 7 добавит третий элемент и длина станет 3. А randint(1, 6) никогда не вернёт 6, потому что верхняя граница исключена». Исправь две ошибки. Для первой покажи точный список/длину; для второй назови допустимые целые значения, не выдумывая будущую случайную последовательность.

Это заранее составленный учебный пример. Самостоятельно проверь конкретный шаг; обращение к сервису не требуется.

Помощь и резерв

  • Начинает с индекса 1. Подпиши 0 под первым элементом.
  • Путает длину и последний индекс. Для n элементов выпиши 0…n−1; пустой случай отдельно.
  • Записывает при i = n. Сравни < и <= перед обращением a[i].
  • Заменяет весь список вместо элемента. Слева нужно a[i], а не a.
  • Видит старый вывод. Проверь путь, сохранение и выбранный для запуска файл.

D1. Отдельный резерв. В программе Python 3 ниже вводят именно три строки (во второй обычный знак минуса ASCII -):

5
-2
7

input() читает одну строку, int превращает её в целое. Предскажи полный список и объясни роль int.

n = 3
a = [0]*n
i = 0
while i < n:
    a[i] = int(input())
    i = i+1
print(a)

D1 — необязательный резерв на 3–4 минуты после основных попыток. При нехватке времени перенести. H1 и весь тест автоматически вместе не назначаются.

Индивидуальный итог

Четыре полные минуты лично. Условия заранее на бумаге. Памятка и разобранные модели разрешены; ключи и веб-разбор закрыты. Учитель не даёт учебных подсказок. Сбор после четырёх минут.

E1. Python 3: b = [6, 1, 8, 2], затем b[2] = 5. Запиши полный список, длину и последний допустимый неотрицательный индекс.

E2. Создан a = [0]*4 в Python 3. Ученик хочет записать a[4] = 1. Допустим ли индекс? Назови все допустимые неотрицательные индексы и объясни ошибку.

E3. Ты дополнил программу, но увидел ожидаемый список только на экране соседа. Что ещё нужно сделать, чтобы подтвердить собственную цифровую часть B1?

Разбор после своей попытки

После исправления выбери один новый пример из самопроверки.

Файлы для собственной практики

Распакуй ZIP до урока. List-starter.py — неполный формульный каркас со строкой TODO; input-starter.py и random-starter.py — намеренно готовые учебные алгоритмы. Их нужно прочитать, сохранить под своими именами и лично выполнить. Личные выводы и решённая формула в архив не включены. Значения условные; личные данные не вводятся.

Материалы и самопроверка

Презентация, самостоятельный план учителя, рабочий лист, выходной билет и бумажная самопроверка открываются отдельными карточками. DOCX можно смотреть на сайте и скачать. PDF для печати:

Самопроверка на сайте: шесть вопросов с пояснениями, отдельно 6–8 минут. Бумажная версия с письменными основаниями и разбором — 8–12 минут. Все шесть новых письменных случаев — ещё 8–10 минут; выбирай прежде всего случай к своей ошибке. Эти модули не прибавляют к основным 45 минутам и не задаются целиком вместе с H1 автоматически. Пояснения и новые случаи для бумажного разбора есть в плане учителя.

Домашний перенос

H1. Дома 5–7 минут на бумаге. Для Python 3 список длины n = 4 заполняют по формуле a[i] = 3*i-1 при i = 0…n−1. Запиши пары индекс/значение, весь список, len(a) и последний неотрицательный индекс. Если n = 0, есть ли первый элемент? ПК дома не нужен.

Полное условие и памятка есть на листе. Решение запиши в тетради. Достаточно 5–7 минут с сохранённой опорой.

Источники

ФРП информатики 7–9 классов, базовый уровень, содержание 9 класса на печатных с. 10–12, результаты с. 19–20 и тематическое планирование с. 41–42. Соответствующий час авторского КТП 2026/2027. Содержание не расширяется до углублённого курса и не подменяется подготовкой к экзамену. Учебник школы не указан; номера параграфов не назначены.

Самопроверка

Проверь себя

6 вопросов по теме «Список Python: индексы и заполнение: самопроверка». Выбери ответ, прочитай объяснение и попробуй ещё раз, если ошибся.

Открыть отдельно

Вопрос 1 из 6

Тренировка
В Python 3 дан a = [12, 4, 7]; индексы начинаются с нуля. Чему равно a[1]?

Без отметки и ограничения времени. Первый ответ учитывается отдельно от исправлений. При обновлении страницы ответы сбросятся.

Скачать и открыть

Материалы урока

7 материалов

Подготовка к уроку

2 материала

Рабочие листы и практика

4 материала

Проверка знаний

1 материал

От сообщества

Материалы сообщества0

Дополнения от учителей к этому уроку. Проверены модерацией, но не являются редакционным контентом MediaSchool.

Поделиться материалом

Поделитесь первым материалом

Рабочий лист, презентация или методичка помогут другим учителям подготовиться к уроку.

Комментарии

Войдите, чтобы оставлять комментарии.

Пока нет комментариев. Будьте первым!