Каппес Даниил Олегович

АВТОРСКИЙ КУРС · 10 КЛАСС

Практикум программирования на Python

Одиннадцать занятий, полторы сотни задач и три выпускных проекта. Первый семестр, 10 класс.

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

Каждое занятие — одна страница: сначала теория с примерами, потом задачи на неё же. Задачи идут в том порядке, в каком разбирались на уроке, и опираются только на то, что уже пройдено.

У каждой задачи есть две подсказки и разбор. Они закрыты и открываются нажатием: подсказка — когда задача не пошла, разбор — когда хочется проверить ход мысли. Решение лежит там же, последней строкой; открывать его стоит после своей попытки — иначе задача не научит ничему, кроме чтения.

Отметка «решено» у задачи — зарубка для себя: она хранится в этом браузере и никуда не отправляется. Работу проверяет преподаватель.

Что поставить на компьютер

Нужен сам язык — Python (адрес: python.org/downloads). При установке на Windows поставьте галочку Add python.exe to PATH, иначе командная строка не будет знать, где его искать.

Писать код можно в чём угодно: в IDLE, который ставится вместе с Python, в Wing IDE (на занятиях мы работаем в нём) или в любом другом редакторе. Задачи курса не зависят от среды.

Отступ в Python — часть кода, а не украшение. Четыре пробела на уровень; смешивать пробелы и табуляцию нельзя — программа перестанет запускаться.

Чем всё заканчивается

В конце курса — три проекта: числовая угадайка, магический шар и виселица. Это уже не задачи на одну строчку, а маленькие программы, в которые можно играть и которые не стыдно показать.

Собраны они из того же, что разбиралось на занятиях: ввод-вывод, ветвления, циклы, списки, свои функции и модуль random. Ничего нового изучать для них не придётся — всё нужное к тому времени уже будет.

Занятия

1Ввод-вывод данных, арифметические операции14 задачПервое занятие: программа печатает то, что ей сказали, спрашивает данные у человека и считает.2Условный оператор, логические операторы14 задачПрограмма перестаёт идти по прямой: появляется развилка — «если …, то …, иначе …».3Встроенные функции, строки, модуль math, цикл for18 задачГотовые функции вместо длинных развилок, первое знакомство со строками — и цикл, который повторяет одно и то же нужное число раз.4range целиком, счётчики и цикл while13 задачЦикл учится считать с любого места и в любую сторону, а рядом появляются приёмы, которые дальше встретятся всюду: счётчик, сумматор, флажок.5break и continue, чтение чужого кода, вложенные циклы12 задачЦикл учится останавливаться и пропускать шаги; заодно разбираем чужие ошибки и ставим цикл внутрь цикла.6Строки: индексы, срезы и методы21 задачСтрока перестаёт быть одним куском текста: до любого символа можно дотянуться по номеру, любую часть — вырезать срезом.7Классификация символов, форматирование, Unicode и списки14 задачСтрока научится рассказывать о себе, текст — собираться из кусков, а данные — храниться целиком, а не по одному.8Списки: добавление и удаление, вывод, split и join17 задачСписок наполняется на ходу, печатается как нужно — и наконец получает мост к строкам: split() и join().9Методы списков, сортировка и списочные выражения14 задачСписок умеет больше, чем добавлять в конец: вставлять, искать, удалять по значению, сортироваться — и собираться одной строкой.10Свои функции: с параметрами и с возвратом значения11 задачКусок программы получает имя — и его можно вызывать сколько угодно раз, из любого места и с любыми данными.11Булевы функции и возврат нескольких значений6 задачФункция отвечает «да» или «нет» — и сложное условие превращается в одну понятную строку. А ещё возвращает сразу несколько значений.

Дальше

Модуль random

Справочник по случайным числам: что умеет модуль random и как им пользоваться в проектах.

Три проекта

Числовая угадайка, магический шар и виселица — программы, в которые можно играть.