Содержание:
- Словарь Python-объектов
- Теория
- 1. Работа с цифрами числа
- 2. Стандартная форма числа
- 3. Ввод и вывод данных
- 4. Условный оператор. Короткая форма (if)
- 5. Полная форма (if-else)
- 6. Множественный выбор (elif)
- 7. Блоки команд и отступы
- 8. Тернарный условный оператор
- 9. Логические операторы (and, or, not)
- 10. Оператор in
- 11. Операторы сравнения и цепочки
- Лабораторные работы
- Самостоятельные задания
Словарь Python-объектов
Ниже приведён справочник по основным встроенным функциям, операторам и конструкциям Python, рассмотренным в этом уроке. Каждый пункт содержит ссылку на соответствующий раздел теории, лабораторную работу или задание.
Работа с цифрами digits
-
n % 10
Получить последнюю (младшую) цифру числа. -
n // 10
Отбросить последнюю цифру числа. -
n // 100
Получить сотни трёхзначного числа. -
(n // 10) % 10
Получить десятки трёхзначного числа. -
(n // 10**k) % 10
Общая формула для k-й цифры справа (нумерация с 0). -
Стандартный вид числа
Запись числа через сумму произведений цифр на степени 10.
Ввод и вывод I/O
-
input()
Считывает строку от пользователя. Всегда возвращаетstr. -
int(input())
Считывает целое число с клавиатуры. -
float(input())
Считывает вещественное число с клавиатуры. -
print(a, b)
Выводит значения через пробел.
Условный оператор if
-
if условие:
Короткая форма. Выполняет блок, если условие истинно. -
if … else:
Полная форма. Выбирает один из двух блоков. -
if … elif … else:
Множественный выбор. Проверяет условия по порядку. -
Отступы и блоки
Правила оформления блоков команд. PEP 8 — 4 пробела. -
Тернарный оператор
Компактная запись:x = a if cond else b.
Логические операторы logic
-
and
Конъюнкция: истинно, когда оба операнда истинны. -
or
Дизъюнкция: истинно, если хотя бы один операнд истинен. -
not
Отрицание: инвертирует логическое значение. -
Оператор in
Проверка вхождения символа в строку или значения в последовательность.
Операторы сравнения comparison
-
== , !=
Равенство и неравенство. -
> , < , >= , <=
Сравнение чисел. -
Цепочки сравнения
Например,10 <= x <= 110.
Лабораторные работы practice
-
Лабораторная 1
Проверка на чётность одного числа. -
Лабораторная 2
Хотя бы одно из двух чисел чётное. -
Лабораторная 3
Проверка пароля и подтверждения. -
Лабораторная 4
Чётное или нечётное число. -
Лабораторная 5
Классификатор возрастных групп. -
Лабораторная 6
Проверка, является ли число трёхзначным. -
Лабораторная 7
Все ли цифры трёхзначного числа различны. -
Лабораторная 8
Определение координатной четверти точки. -
Лабораторная 9
Ход ладьи на шахматной доске. -
Лабораторная 10
Поиск среднего по величине числа из трёх.
Самостоятельные задания tasks
-
Задание 1
Проверка на чётность одного числа. -
Задание 2
Хотя бы одно из двух чисел чётное. -
Задание 3
Пароль и подтверждение. -
Задание 4
Чётное или нечётное. -
Задание 5
Возрастная группа. -
Задание 6
Число трёхзначное? -
Задание 7
Все цифры различны? -
Задание 8
Координатная четверть. -
Задание 9
Ладья одним ходом. -
Задание 10
Среднее по величине число. -
Задание 11
Сумма цифр трёхзначного числа (с учётом знака). -
Задание 12
Обмен левой и средней цифр трёхзначного числа. -
Задание 13
Циклический сдвиг цифр влево. -
Задание 14
Обмен крайних цифр двузначного числа. -
Задание 15
Стандартная форма: составить число из двух цифр. -
Задание 16
Сантиметры в метры (целочисленное деление). -
Задание 17
Килограммы в тонны. -
Задание 18
Возраст в годах по возрасту в месяцах.
Теория
1. Работа с цифрами числа
Если мы работаем в 10-й системе счисления, любое число можно разобрать на цифры, используя степени 10 и операции // и %.
Стандартный вид числа:
123 = 1 × 100 + 2 × 10 + 3
Таким образом, можно получить отдельные цифры числа:
- для получения сотен из трёхзначного числа нужно вычислить частное от деления на 100;
- для получения десятков — вычислить остаток от деления на 100, а затем частное от деления на 10;
- для получения единиц — взять остаток от деления на 10.
n = abs(int(input("Введите трёхзначное число: "))) s = n // 100 + (n // 10) % 10 + n % 10 print("Сумма цифр:", s) |
n = 754 last = n % 10 # 4 middle = (n // 10) % 10 # 5 first = n // 100 # 7 print(first, middle, last) # 7 5 4 |
Общая формула для k-й цифры (справа, нумерация с 0):
digit = (n // 10**k) % 10
2. Стандартная форма числа
Стандартная форма — это представление числа в виде суммы произведений его цифр на соответствующие степени основания системы счисления (обычно 10).
1234 = 1 × 10³ + 2 × 10² + 3 × 10¹ + 4 × 10⁰
Обратная задача — собрать число из отдельных цифр. Если известны цифры a (десятки) и b (единицы), то:
число = a * 10 + b
a = int(input("Введите первую цифру: ")) # десятки b = int(input("Введите вторую цифру: ")) # единицы number = a * 10 + b print("Полученное число:", number) |
Пример работы:
Введите первую цифру: 3 Введите вторую цифру: 5 Полученное число: 35
Проверка:
3, 5 => 35 7, 0 => 70 0, 4 => 4
3. Ввод и вывод данных
Для коммуникации с программой при её запуске используют специальные функции — ввода и вывода.
Ввод значения через терминал. Для этого в Python есть функция input().
input() является строковое значение. Поэтому если нужно ввести число, считанное строковое значение необходимо преобразовать с помощью int() или float().
# Ввод строки из терминала inp = input() # Преобразование строки в целое число x = int(inp) |
Эту же операцию можно выполнить в одну строку:
x = int(input()) |
Для интерактивности можно передать input() приглашение:
x = int(input('Введите x: ')) |
Вывод значений на экран. Для этого используется функция print().
print(a, b) |
# ввод коэффициента k k = float(input('Введите k:')) # ввод коэффициента b b = float(input('Введите b:')) # вычисление корня x = -b / k # вывод корня на экран print('x =', x) |
4. Условный оператор. Короткая форма (if)
Условный оператор — конструкция, которая позволяет выбрать один из нескольких вариантов дальнейшего выполнения алгоритма.
Короткая форма:
if условие: оператор # выполнится, если условие истинно |
- После условия ставится
:(двоеточие). - Тело оператора выделяется отступом (4 пробела по PEP 8).
- Блок выполняется только если условие истинно.
number = 5 if number > 0: print("Число положительное") |
print("Какой язык программирования мы изучаем?") answer = input() if answer == "Python": print("Верно! Мы изучаем Python =)") print("Python — отличный язык!") |
Пример работы:
Какой язык программирования мы изучаем? Python Верно! Мы изучаем Python =) Python — отличный язык!
5. Полная форма (if-else)
Полная форма условного оператора позволяет выбрать один из двух вариантов:
if условие: оператор-1 # выполнится, если условие истинно else: оператор-2 # выполнится, если условие ложно |
number = -3 if number > 0: print("Положительное") else: print("Отрицательное или ноль") |
print("Какой язык программирования мы изучаем?") answer = input() if answer == "Python": print("Верно! Мы изучаем Python =)") else: print("Не совсем! Мы изучаем Python.") |
Пример работы:
Какой язык программирования мы изучаем? Java Не совсем! Мы изучаем Python.
6. Множественный выбор (elif)
Когда вариантов больше двух, используют конструкцию elif:
if условие1: блок-команд-1 elif условие2: блок-команд-2 elif условие3: блок-команд-3 else: блок-команд-N # если ни одно условие не истинно |
number = int(input()) if number > 0: print("Положительное") elif number < 0: print("Отрицательное") else: print("Ноль") |
grade = int(input("Введите балл: ")) if grade >= 90: print("5 - Отлично") elif grade >= 80: print("4 - Хорошо") elif grade >= 70: print("3 - Удовлетворительно") elif grade >= 60: print("2 - Плохо") else: print("1 - Неудовлетворительно") |
Пример работы:
Введите балл: 85 4 - Хорошо
elif располагайте от самого специфичного к самому общему. Используйте elif вместо вложенных if/else, чтобы код оставался плоским и читаемым.
7. Блоки команд и отступы
В Python доступно два варианта оформления блоков команд в составных операторах, в том числе и в условном операторе.
Вариант 1: на той же строке, что и ключевое слово, через точку с запятой.
if x % 2 == 0: y = y + x; z = 10 else: y = 0; z = 13 |
Вариант 2: каждая команда с новой строки с отступом на 1 уровень больше.
if x % 2 == 0: y = y + x z = 10 else: y = 0 z = 13 |
Второй способ считается общепринятым и соответствует рекомендациям PEP 8.
if x % 2 == 0: y = y + x if y > 5: y = 6 if x // 3 == 4: y = 0 if x > 10: z = 22 |
else.
8. Тернарный условный оператор
Для удобства в некоторых случаях используют тернарную условную операцию. Обычно она используется, когда в зависимости от условия устанавливается значение конкретной переменной.
Обычный условный оператор:
if y > 10: x = 5 else: x = y + 3 |
С помощью тернарной операции:
x = 5 if y > 10 else y + 3 |
student_1 = 5 student_2 = 2 excellent = "первый ученик" if student_1 > student_2 else "второй ученик" print(excellent) # первый ученик |
9. Логические операторы (and, or, not)
Логические операторы применяются для связки нескольких логических выражений.
Оператор and (конъюнкция)
| A | B | A and B |
|---|---|---|
| False | False | False |
| False | True | False |
| True | False | False |
| True | True | True |
age = int(input("возраст? ")) grade = int(input("балл? ")) print("Доступ разрешён:", age >= 12 and grade >= 7) |
Идея: «оба должны быть истинными». Удобно для проверки нескольких требований одновременно.
Оператор or (дизъюнкция)
| A | B | A or B |
|---|---|---|
| False | False | False |
| False | True | True |
| True | False | True |
| True | True | True |
city = "Москва" print("Доступ разрешён:", city == "Москва" or city == "Уфа") |
Идея: «хотя бы один должен быть истинным». Удобно для проверки нескольких допустимых вариантов.
Оператор not (отрицание)
| A | not A |
|---|---|
| False | True |
| True | False |
age = 8 print("Доступ разрешён:", not (age < 12)) |
Идея: «противоположное значение».
and и or.
# НЕПРАВИЛЬНО — всегда истинно, если x > 1 или x < 100 if x > 1 or x < 100: print("В диапазоне") # ПРАВИЛЬНО if x > 1 and x < 100: print("В диапазоне") |
# НЕПРАВИЛЬНО if age >= 7 and <= 9: print("Ребёнок") # ПРАВИЛЬНО if age >= 7 and age <= 9: print("Ребёнок") # ЛУЧШЕ — цепочка сравнения if 7 <= age <= 9: print("Ребёнок") |
a < b < c — уникальная особенность Python, во многих языках такая запись не поддерживается.
10. Оператор in
Оператор in позволяет проверить, входит ли элемент (или подстрока) в последовательность. Это удобная альтернатива длинным цепочкам or.
Без in:
s = input() if s == 's' or s == 't' or s == 'u' or s == 'd' or s == 'y': print('ДА') |
С in:
s = input() if len(s) == 1 and s in 'study': print('ДА') |
Оператор in отлично подходит для проверки символа на принадлежность к строке или значения — к последовательности.
11. Операторы сравнения и цепочки
| Оператор | Описание | Пример |
|---|---|---|
== |
Равно | x == 5 |
!= |
Не равно | x != 5 |
> |
Больше | x > 3 |
< |
Меньше | x < 3 |
>= |
Больше или равно | x >= 5 |
<= |
Меньше или равно | x <= 5 |
= (присваивание) и == (сравнение).
# ПРИСВАИВАНИЕ — присваивает значение age = 25 # СРАВНЕНИЕ — проверяет равенство if age == 25: print("Вам 25") # ОШИБКА! Это присваивание, а не сравнение if age = 25: # SyntaxError! print("Это не сработает") |
Цепочки сравнения
В Python операторы сравнения можно объединять в цепочки:
age = int(input()) if 3 <= age <= 6: print('Вы ребёнок') |
Также можно проверить равенство сразу трёх переменных:
if a == b == c: print('числа равны') else: print('числа не равны') |
Лабораторные работы
В этом разделе представлены лабораторные работы с решениями. Попробуйте сначала решить задачу самостоятельно, а затем откройте решение для проверки.
Показать решение
n = int(input("введите целое число >>> ")) print("Число чётное:", n % 2 == 0) |
Пример работы:
введите целое число >>> 9 Число чётное: False
Пошаговое объяснение:
- Считываем целое число с клавиатуры.
- Вычисляем остаток от деления на 2: если он равен 0 — число чётное.
- Выводим результат логического выражения
n % 2 == 0.
Показать решение
a = int(input("введите первое целое число >>> ")) b = int(input("введите второе целое число >>> ")) result = (a % 2 == 0) or (b % 2 == 0) print(f"Либо {a}, либо {b} — чётное число. Это : {result}") |
Пример работы:
введите первое целое число >>> 9 введите второе целое число >>> 2 Либо 9, либо 2 — чётное число. Это : True
Пошаговое объяснение:
- Считываем два целых числа.
- Проверяем чётность каждого через
% 2 == 0. - Объединяем проверки логическим оператором
or. - Выводим результат с использованием f-строки.
Показать решение
password = input("Введите пароль: ") confirm = input("Подтвердите пароль: ") if password == confirm: print("Пароль принят") else: print("Пароль не принят") |
Пример работы (совпадение):
Введите пароль: qwerty Подтвердите пароль: qwerty Пароль принят
Пример работы (несовпадение):
Введите пароль: qwerty Подтвердите пароль: Qwerty Пароль не принят
Пошаговое объяснение:
- Считываем пароль и его подтверждение.
- Сравниваем строки через
==(учитывается регистр). - Выводим результат в зависимости от истинности условия.
Показать решение
n = int(input("Введите число: ")) if n % 2 == 0: print("Чётное") else: print("Нечётное") |
Пример работы:
Введите число: 4 Чётное
Введите число: 7 Нечётное
Пошаговое объяснение:
- Считываем число.
- Проверяем остаток от деления на 2.
- Если остаток 0 — чётное, иначе — нечётное.
- 0–13: childhood (детство);
- 14–24: youth (юность);
- 25–59: maturity (зрелость);
- 60+: old age (старость).
Показать решение
age = int(input("Введите возраст: ")) if 0 <= age <= 13: print("детство") elif 14 <= age <= 24: print("юность") elif 25 <= age <= 59: print("зрелость") else: print("старость") |
Пример работы:
Введите возраст: 11 детство
Введите возраст: 27 зрелость
Пошаговое объяснение:
- Считываем возраст.
- Используем цепочки сравнения вида
a <= x <= b— это уникальная особенность Python. - Проверяем условия по порядку, пока не найдём подходящее.
Показать решение
n = int(input("Введите число: ")) if 100 <= abs(n) <= 999: print("Число трёхзначное") else: print("Число не трёхзначное") |
Пример работы:
Введите число: 123 Число трёхзначное
Введите число: 45 Число не трёхзначное
Пошаговое объяснение:
- Считываем число.
- Используем
abs(n), чтобы учесть отрицательные числа. - Проверяем диапазон с помощью цепочки сравнения.
Показать решение
n = abs(int(input("Введите число: "))) first = n // 100 middle = (n // 10) % 10 last = n % 10 if first != middle and middle != last and first != last: print("Все цифры различны") else: print("Не все цифры различны") |
Пример работы:
Введите число: 123 Все цифры различны
Введите число: 122 Не все цифры различны
Пошаговое объяснение:
- Извлекаем три цифры с помощью
//и%. - Проверяем, что каждая пара цифр отличается.
- Объединяем условия оператором
and.
Показать решение
x = int(input("Введите x: ")) y = int(input("Введите y: ")) if x > 0 and y > 0: print("Четверть 1") elif x < 0 and y > 0: print("Четверть 2") elif x < 0 and y < 0: print("Четверть 3") else: print("Четверть 4") |
Пример работы:
Введите x: 3 Введите y: 4 Четверть 1
Введите x: -2 Введите y: 5 Четверть 2
Пошаговое объяснение:
- Считываем координаты x и y.
- Определяем четверть по знакам координат.
- Используем цепочку
if-elif-elseдля выбора одного из четырёх вариантов.
Показать решение
row1 = int(input("Введите строку1: ")) col1 = int(input("Введите столбец1: ")) row2 = int(input("Введите строку2: ")) col2 = int(input("Введите столбец2: ")) if row1 == row2 or col1 == col2: print("ДА") else: print("НЕТ") |
Пример работы:
Введите строку1: 4 Введите столбец1: 4 Введите строку2: 4 Введите столбец2: 2 ДА
Пошаговое объяснение:
- Считываем координаты двух клеток.
- Ладья может ходить по одной строке (одинаковый номер строки) или по одному столбцу (одинаковый номер столбца).
- Объединяем два условия оператором
or.
Показать решение
a, b, c = int(input()), int(input()), int(input()) if (a <= b <= c) or (c <= b <= a): print("Ответ:", b) elif (b <= a <= c) or (c <= a <= b): print("Ответ:", a) else: print("Ответ:", c) |
Пример работы:
5 8 1 Ответ: 5
Пошаговое объяснение:
- Считываем три числа.
- Проверяем, является ли b средним (оно между a и c в любом порядке).
- Иначе проверяем a, затем — c.
Самостоятельные задания
Решите следующие задачи самостоятельно. Для проверки используйте примеры вывода.
Пример вывода:
введите целое число >>> 9 Число чётное: False
Пример вывода:
введите первое целое число >>> 9 введите второе целое число >>> 2 Либо 9, либо 2 — чётное число. Это : True
Пример вывода:
Введите пароль: qwerty Подтвердите пароль: qwerty Пароль принят
Пример вывода:
Введите число: 4 Чётное
Пример вывода:
Введите возраст: 11 детство
Пример вывода:
Введите число: 123 Число трёхзначное
Пример вывода:
Введите число: 123 Все цифры различны
Пример вывода:
Введите x: 3 Введите y: 4 Четверть 1
Пример вывода:
Введите строку1: 4 Введите столбец1: 4 Введите строку2: 4 Введите столбец2: 2 ДА
Пример вывода:
5 8 1 Ответ: 5
Пример вывода:
Введите трёхзначное число >>> -745 Вы ввели: 745. Сумма его трёх цифр равна 16
Подсказка: используйте abs() для получения модуля числа.
Пример вывода:
Введите трёхзначное целое число >>> 846 После обмена левой и средней цифр результат равен 486
Пример вывода:
Введите трёхзначное целое число >>> -734 После циклического сдвига цифр влево результат равен -347
Проверка:
123 => 231 -602 => -26
Пример вывода:
Введите двузначное число >>> -57 Вы ввели -57. Результат равен -75
Проверка:
35 => 53 -10 => -1
Пример вывода:
Введите две цифры >>> 3 >>> 5 Новое число: 35
Проверка:
3, 5 => 35 7, 0 => 70 0, 4 => 4
Пример вывода:
Введите расстояние в сантиметрах >>> 245 Расстояние в метрах: 2
Пример вывода:
Введите массу в килограммах >>> 4527 Масса в тоннах: 4
Пример вывода:
Введите возраст в месяцах >>> 37 Возраст в годах: 3