📚 О курсе
Python - один из самых популярных языков программирования в мире! Он используется для создания веб-сайтов, анализа данных, машинного обучения, автоматизации задач и многого другого.
Учебный курс создан специально для школьников, которые планируют сдавать ЕГЭ по информатике. Программа курса охватывает основные темы и задания, встречающиеся на экзамене, обучает основам программирования на Python 3 и способствует формированию практических навыков, востребованных при решении типовых экзаменационных задач. Каждый раздел включает теорию, примеры кода и практические задания.
1 Базовые типы данных
📖 Теоретическая база
В Python существует несколько основных типов данных для работы с числами, логическими значениями и текстом:
| Тип | Описание | Примеры значений |
|---|---|---|
int |
Целые числа | 783, 0, -192 |
float |
Числа с плавающей точкой | 9.23, 0.0, -1.7e-6 |
bool |
Логические значения | True, False |
str |
Строки (текст) | "Hello", 'Python', """многострочный""" |
Особенности строк:
\n- перевод строки\t- символ табуляции\'- экранирование апострофа"""текст"""- многострочные строки
💡 Практические примеры
Работа с целыми числами:
Числа с плавающей точкой:
Логические значения:
Строки:
🎯 Методические рекомендации
Обучающиеся должны понимать различие между целыми числами и числами с плавающей точкой. Важно помнить, что операции с float могут давать неточные результаты из-за особенностей представления чисел в компьютере.
Особое внимание уделите правильному использованию кавычек в строках и экранированию специальных символов.
Задача: Создайте переменные разных типов и выведите их на экран. Какой тип будет у результата выражения 10 + 5.0?
Ответ: Результат будет иметь тип float, так как при операции между int и float Python автоматически преобразует результат к float (более общему типу).
2 Контейнерные типы данных
📖 Теоретическая база
Контейнеры позволяют хранить несколько значений в одной переменной. В Python есть четыре основных контейнерных типа:
| Тип | Изменяемый | Упорядоченный | Пример |
|---|---|---|---|
list (список) |
✓ Да | ✓ Да | [1, 5, 9] |
tuple (кортеж) |
✗ Нет | ✓ Да | (1, 5, 9) |
dict (словарь) |
✓ Да | ✗ Нет | {1: "one", 2: "two"} |
set (множество) |
✓ Да | ✗ Нет | {1, 9, 3, 0} |
Особенности типов:
- Список (list): упорядоченная коллекция, быстрый доступ по индексу, можно изменять
- Кортеж (tuple): неизменяемая версия списка, используется для постоянных данных
- Словарь (dict): соответствие ключ-значение, быстрый поиск по ключу
- Множество (set): уникальные элементы, быстрая проверка вхождения
💡 Практические примеры
Списки (list):
Кортежи (tuple):
Словари (dict):
Множества (set):
Задача: Создайте список из 5 чисел, словарь с информацией о книге (название, автор, год) и множество из первых 10 простых чисел.
3 Переменные и присваивание
📖 Теоретическая база
Переменная - это имя, связанное со значением в памяти компьютера. В Python переменные создаются при первом присваивании значения.
Правила именования переменных:
- Начинается с буквы (a-z, A-Z) или подчеркивания (_)
- Далее могут быть буквы, цифры (0-9) и подчеркивания
- Регистр важен:
nameиName- разные переменные - Нельзя использовать ключевые слова Python (if, for, while и т.д.)
- Лучше избегать нелатинских букв
Типы присваивания:
- Простое:
x = 5 - Множественное:
x, y, z = 1, 2, 3 - Цепное:
x = y = z = 0 - С операцией:
x += 3(эквивалентноx = x + 3)
💡 Практические примеры
Правильные имена переменных:
Неправильные имена:
Множественное присваивание:
Присваивание с операциями:
🎯 Методические рекомендации
Выбирайте осмысленные имена переменных, которые отражают их назначение. Вместо x используйте student_age или total_price.
Константы обычно пишут ЗАГЛАВНЫМИ_БУКВАМИ: MAX_SIZE = 100, PI = 3.14159
Задача: Создайте переменные для хранения информации о ученике: имя, возраст, средний балл. Увеличьте возраст на 1 и средний балл на 0.5.
Вывод:
До: Мария, 14 лет, средний балл 4.5
После: Мария, 15 лет, средний балл 5.0
4 Преобразования типов
📖 Теоретическая база
Python позволяет преобразовывать данные из одного типа в другой с помощью встроенных функций:
| Функция | Описание | Пример |
|---|---|---|
int(x) |
Преобразование в целое число | int("15") → 15 |
float(x) |
Преобразование в число с плавающей точкой | float("3.14") → 3.14 |
str(x) |
Преобразование в строку | str(42) → "42" |
bool(x) |
Преобразование в логическое значение | bool(0) → False |
list(x) |
Преобразование в список | list("abc") → ['a', 'b', 'c'] |
tuple(x) |
Преобразование в кортеж | tuple([1, 2, 3]) → (1, 2, 3) |
set(x) |
Преобразование в множество | set([1, 1, 2]) → {1, 2} |
round().
💡 Практические примеры
Преобразование строк в числа:
Преобразование чисел в строки:
Преобразование в логический тип:
Работа со списками и множествами:
Задача: Пользователь вводит два числа в виде строк. Преобразуйте их в числа, вычислите сумму и среднее значение.
Важно: Обратите внимание, что результат деления - число с плавающей точкой (30.0), даже если оба числа целые!
5 Доступ к элементам последовательностей
📖 Теоретическая база
В Python можно обращаться к элементам последовательностей (списки, строки, кортежи) по индексу или получать срезы (подпоследовательности).
Индексация:
- Положительные индексы: начинаются с 0 (первый элемент)
- Отрицательные индексы: с конца, -1 (последний элемент)
Срезы (slicing):
Синтаксис: [начало:конец:шаг]
- начало - индекс первого элемента (включительно)
- конец - индекс последнего элемента (НЕ включительно)
- шаг - интервал между элементами (по умолчанию 1)
💡 Практические примеры
Доступ по индексу:
Срезы последовательностей:
Работа со строками:
Изменение списков:
🎯 Методические рекомендации
Важно понимать разницу между индексацией и срезами. Индексация возвращает один элемент, срез - новую последовательность.
lst[1:3] вернет элементы с индексами 1 и 2, но не 3.
Задача: Дан список оценок студента. Получите первые 3 оценки, последние 2 оценки, и все оценки через одну.
6 Условный оператор (if-elif-else)
📖 Теоретическая база
Условный оператор позволяет выполнять разные блоки кода в зависимости от условий.
Структура условного оператора:
Операторы сравнения:
| Оператор | Значение | Пример |
|---|---|---|
== |
Равно | x == 5 |
!= |
Не равно | x != 0 |
< |
Меньше | x < 10 |
> |
Больше | x > 0 |
<= |
Меньше или равно | x <= 5 |
>= |
Больше или равно | x >= 0 |
💡 Практические примеры
Простое условие:
Множественные условия:
Вложенные условия:
Проверка нескольких условий:
Задача: Напишите программу, которая определяет категорию спортсмена по возрасту: младшая (до 12), средняя (12-16), старшая (17-18), взрослые (19+).
7 Циклы: while и for
📖 Теоретическая база
Циклы позволяют выполнять блок кода многократно. В Python есть два типа циклов:
Цикл while (с условием):
Цикл for (цикл перебора):
Функция range():
range(n)- числа от 0 до n-1range(start, stop)- от start до stop-1range(start, stop, step)- с шагом step
Управление циклом:
break- немедленный выход из циклаcontinue- переход к следующей итерации
💡 Практические примеры
Цикл while:
Цикл for по элементам:
Цикл for с range():
Проход по индексам:
Enumerate (индексы + значения):
Break и continue:
Задача: Напишите программу, которая находит все четные числа от 1 до 20 и вычисляет их сумму.
8 Математические операции
📖 Теоретическая база
Базовые операторы:
| Оператор | Операция | Пример | Результат |
|---|---|---|---|
+ |
Сложение | 5 + 3 | 8 |
- |
Вычитание | 5 - 3 | 2 |
* |
Умножение | 5 * 3 | 15 |
/ |
Деление | 5 / 2 | 2.5 |
// |
Целочисленное деление | 5 // 2 | 2 |
% |
Остаток от деления | 5 % 2 | 1 |
** |
Возведение в степень | 2 ** 3 | 8 |
Полезные функции:
abs(x)- модуль числаround(x, n)- округление до n знаковmax(a, b, c)- максимумmin(a, b, c)- минимумsum([a, b, c])- сумма элементов
Модуль math:
💡 Практические примеры
Базовые операции:
Работа с модулем и округлением:
Тригонометрия и логарифмы:
Проверка четности и деление:
Задача: Напишите программу для вычисления площади и периметра прямоугольника. Также вычислите длину диагонали.
9 Булева логика и логические операции
📖 Теоретическая база
Булева логика работает с логическими значениями True (истина) и False (ложь).
Логические операторы:
| Оператор | Операция | Описание |
|---|---|---|
and |
Логическое И | True, если оба условия истинны |
or |
Логическое ИЛИ | True, если хотя бы одно условие истинно |
not |
Логическое НЕ | Инверсия: True → False, False → True |
Таблицы истинности:
Операторы сравнения возвращают логические значения:
💡 Практические примеры
Базовые логические операции:
Сложные логические выражения:
Проверка диапазонов:
Приоритет операций:
Логические значения в условиях:
Задача: Напишите программу, которая проверяет, может ли студент сдать экзамен. Условия: средний балл ≥ 75 И посещаемость ≥ 80% ИЛИ есть рекомендация преподавателя.
10 Определение и вызов функций
📖 Теоретическая база
Функция - это именованный блок кода, который можно вызывать многократно. Функции помогают избежать дублирования кода и делают программу более структурированной.
Определение функции:
Ключевые элементы:
def- ключевое слово определения функции- Имя функции - следует правилам именования переменных
- Параметры - входные данные (могут отсутствовать)
- Docstring - описание функции в тройных кавычках
return- возврат результата (необязательно)
return, она возвращает None по умолчанию.
💡 Практические примеры
Простая функция:
Функция с несколькими параметрами:
Функция с параметрами по умолчанию:
Функция без возвращаемого значения:
Рекурсивная функция:
Функция с произвольным числом аргументов:
🎯 Методические рекомендации
Функции должны выполнять одну конкретную задачу. Давайте функциям осмысленные имена, описывающие их действие (глаголы): calculate_area(), find_max(), is_prime().
Всегда добавляйте docstring для документирования функций. Это поможет другим (и вам в будущем) понять, что делает функция.
Задача: Создайте функцию для проверки, является ли число простым. Простое число делится только на 1 и на себя.
11 Работа с файлами
📖 Теоретическая база
Python позволяет читать и записывать данные в файлы на диске. Это полезно для сохранения результатов работы программы или обработки больших объемов данных.
Открытие файла:
Режимы работы с файлами:
| Режим | Описание |
|---|---|
'r' |
Чтение (read) - файл должен существовать |
'w' |
Запись (write) - создает новый или перезаписывает |
'a' |
Добавление (append) - дописывает в конец |
'r+' |
Чтение и запись |
Основные операции:
f.read(n)- прочитать n символов (весь файл, если n не указан)f.readline()- прочитать одну строкуf.readlines()- прочитать все строки в списокf.write(text)- записать текстf.close()- закрыть файл (обязательно!)
with - она закроет файл автоматически.
💡 Практические примеры
Запись в файл:
Чтение из файла:
Добавление в конец файла:
Практический пример - анализ текста:
Работа с CSV файлами:
Задача: Создайте программу для ведения дневника. Программа должна добавлять записи с датой и сохранять их в файл.
12 Форматирование строк
📖 Теоретическая база
Python предоставляет несколько способов форматирования строк - вставки значений переменных в текст.
Методы форматирования:
- F-строки (f-strings) - современный и удобный способ
- Метод format() - универсальный метод
- Оператор % - старый способ (не рекомендуется)
F-строки (рекомендуется):
Спецификаторы форматирования:
| Формат | Описание | Пример |
|---|---|---|
{value:.2f} |
2 знака после запятой | 3.14 |
{value:10s} |
Строка шириной 10 | "текст " |
{value:>10s} |
Выравнивание вправо | " текст" |
{value:^10s} |
По центру | " текст " |
{value:d} |
Десятичное целое | 42 |
{value:b} |
Двоичное | 101010 |
{value:x} |
Шестнадцатеричное | 2a |
💡 Практические примеры
F-строки (современный способ):
Метод format():
Выравнивание и заполнение:
Специальные форматы:
Работа со строковыми методами:
Задача: Создайте функцию для вывода красивого чека покупок с выравниванием столбцов и итоговой суммой.
13 Операции с контейнерами
📖 Теоретическая база
Python предоставляет множество встроенных функций и методов для работы с контейнерами (списки, множества, словари).
Общие функции для контейнеров:
len(c)- количество элементовmin(c),max(c)- минимум/максимумsum(c)- сумма элементов (для чисел)sorted(c)- отсортированная копияreversed(c)- обратный итераторvalue in c- проверка наличия
Методы списков:
lst.append(x)- добавить в конецlst.insert(i, x)- вставить в позицию ilst.remove(x)- удалить первое вхождение xlst.pop(i)- удалить и вернуть элементlst.extend(seq)- добавить последовательностьlst.sort()- сортировать списокlst.reverse()- развернуть список
Операции с множествами:
s1 | s2- объединениеs1 & s2- пересечениеs1 - s2- разностьs1 ^ s2- симметричная разность
💡 Практические примеры
Операции со списками:
Поиск в списке:
Работа с множествами:
Работа со словарями:
Полезные трюки:
Enumerate и zip:
Задача: Создайте программу для анализа результатов голосования. Найдите победителя, подсчитайте голоса, найдите уникальных голосующих.
🎓 Поздравляем!
Вы изучили основы программирования на Python 3! Теперь вы знаете:
- Базовые и контейнерные типы данных
- Работу с переменными и преобразованиями типов
- Условные операторы и циклы
- Функции и их параметры
- Работу с файлами
- Форматирование строк
- Операции с коллекциями данных
- Официальная документация Python: docs.python.org
- Задачи для практики: Сайт kompege.ru
- Книги: "Изучаем Python" Марка Лутца, "Python для начинающих"