На уроке рассмотрены примеры использования оператора присваивания на языке python, примеры работы с основными арифметическими операторами. Узнаете об одной из функций преобразования типов (int). Изучите работу условного оператора, оператора python print и input
Среда разработки
Для обучения используется IDLE python 3.4 GUI (возможна и другая среда разработки).
Основным окном IDLE является окно интерпретатора, позволяющее программировать в интерактивном режиме, т.е. после ввода команды, она сразу же исполняется после нажатия [Enter]. Каждая строка начинается с символов >>>, результат выполнения отображается сразу под строкой оператора:
IDLE python 3.4
Для полноценной работы и сохранения результатов в файл следует выбрать в меню File пункт New File. После чего в открывшемся окне можно набирать код программы.
Сравнение кода двух языков
Для начала сравним фрагменты кода одной и той же программы, написанной на Python и на C++. Результат показывает, насколько меньше код, написанный на Python:
На PYTHON
| 1 | print(“Hello, World!”) |
На С++
| 1 2 3 4 5 | #include<iostream> void main() { cout << “Hello, World!” << endl; } |
Оператор присваивания
Оператором присваивания является символ =. Выполняется оператор стандартным образом: сначала вычисляется выражения справа от знака равенства, а затем полученное значение записывается в переменную, указанную слева от знака равенства.
| 1 2 3 4 5 6 7 8 9 10 | A = 3.14 print(type(A)) # float A = ‘Hello’ print(type(A)) # str a = b = c = 0 a += 1 # a = a + 1 с = 5//2 # int d = 5/2 # float b = c**2 # b = c^2 (степень) a, b = b, a # обмен значениями a=b, b=a |
Ввод и вывод данных
- Вывод данных осуществляется при помощи оператора print:
- Существует возможность записи инструкций в одну строку, разделяя их через
;. Однако не следует часто использовать такой способ, это снижает удобочитаемость: - Для функции print может задаваться так называемый сепаратор — разделитель между элементами вывода:
- Для форматированного вывода используется format:
- Или с несколькими аргументами:
- Ввод данных осуществляется при помощи оператора
input: - В скобках функции можно указать сообщение-комментарий к вводимым данным:
- Функция input воспринимает входные данные, как поток символов. Поэтому, чтобы принять целочисленное значение, следует воспользоваться функцией int():
Задание Python 1_1:
Используя операторы input и print, выведите значения целых переменных x=5 и y=3 в следующих форматах:3+5=?3 | 5 | 8Z(5)=F(3)x=5; y=3;Ответ: (5;3)
Арифметические действия и математические функции
x + y Сложение x - y Вычитание x * y Произведение x / y Деление x // y Целочисленное деление x % y Остаток от целочисленного деления x**y Возведение в степень -x Смена знака числа
Рассмотрим стандартные математические функции:
- abs(x) модуль числа;
- round(x) – в Python округление числа x к ближайшему целому;
- sqrt(x) – квадратный корень числа;
- exp(x) – экспонента x;
- log(x) – натуральный логарифм x.
Перечисленные функции можно использовать в программе, только подключив специальный модуль:
| import math # далее используем какую-либо функцию: print (math.sqrt(64)) # 8.0 |
Типы данных и преобразование типов
Перечислим основные типы данных в Python, которые понадобятся на ближайших уроках:
- int – целочисленные значения;
- float – вещественные (дробные) значения;
- bool – логические значения — истина (True) или ложь (False);
- str – символьная строка или единичный символ.
Рассмотрим примеры использования основных типов в Python:
Целые числа (int):
| num = 13 print(num) # 13 num = 0 print(num) # 0 num = -10 print(num) # -10 num = 500_000_000 # для удобства чтения print(num) # 500000000 |
Вещественные числа (float):
| num = 13.4 print(num) # 13.4 num = 0.0 print(num) # 0.0 num = -15.2 print(num) # -15.2 num = 100_000.000_002 # для удобства чтения print(num) # 100000.000002 num = 1.7e2 # 1.7 умножить на 10 в степени 2 print(num) # 170 |
Логический тип (bool):
| print(15 == 15) # True print(1 != 3) # True print(3 > 4) # False print(3 <= 3) # True print(6 >= 6) # True print(6 < 5) # False x = 2 print(1 < x < 3) # True |
Строки (str):
| example_string = “Очень интересно” print(example_string) # Очень интересно example_string = ‘Пьеса “На дне”‘ print(example_string) # Пьеса “На дне” example_string = “Пьеса \”На дне\” print(example_string) # Пьеса “На дне” example_string = “Как ” \ “разбить ” \ “объявление длинной строки” print(example_string) # Как разбить объявление длинной строки example_string = “”” Как оставить сроку в несколько строк “”” print(example_string) # Как # оставить сроку # в несколько строк |
| # Как объединить две строки в одну print(“Можно их” + ” сложить”) # Можно их сложить print(“Можно и так!” * 3) # Можно и так!Можно и так!Можно и так! |
Рассмотрим примеры того, как используется преобразование типов в Питон:
- преобразование в символьную строку:
- преобразование в целое:
- преобразование в вещественное:
Python для систем счисления
- bin(y) — целое число преобразовывается в двоичную строку.
- hex(y) — целое число преобразовывается в шестнадцатеричную строку.
- oct(y) — целое число преобразовывается в восьмеричную строку.
Рассмотрим примеры работы с системами счисления:
| bin(17) # ‘0b10001’ oct(17) # ‘0o21’ hex(17) # ‘0x11’ |
Задание Python 1_2: Даны две переменные. Запросить их значение. Выполнить основные арифметические действия с переменными, целочисленное деление, возведение в квадрат. Осуществить перевод в системы счисления (в 8-ю и 16-ю). Вывести результат.Задание Python 1_3: Найти длину окружности L и площадь круга S заданного радиуса R:
L=2*pi*R, S=pi*R2.
В качестве значения использовать 3.14.* Из задачника М. Э. АбрамянЗадание Python 1_4: Даны три точки A, B, C на числовой оси. Найти длины отрезков AC и BC и их сумму.* Из задачника М. Э. АбрамянПример: Дано двузначное число. Найти сумму и произведение его цифр.* Из задачника М. Э. Абрамян
✍ Решение:
| import math print(‘Введите двузначное число: ‘) A = int(input()) Res = (A // 10) + math.fmod(A, 10) print(‘Сумма его цифр равна: ‘, int(Res)) Res = (A // 10) * math.fmod(A, 10) print(‘Произведение его цифр равно: ‘, int(Res)) |
Задание Python 1_5: Дано двухзначное целое число. Вывести сначала его правую цифру, а затем левую.
** Сделайте задание повышенной сложности: необходимо поменять местами цифры числа и вывести результирующее число (вывести не отдельные цифры, а именно число). Например, число 25, а результат — число 52.* Из задачника М. Э. Абрамян
Условный оператор
В языке python синтаксис обладает интересной особенностью: дело в том, что в коде нет операторных скобок (begin..end или {...}); вместо них отступы указывают, какие операторы выполнять внутри той или иной конструкции.Зачем отступы и где их ставить?
Стандартная запись условной инструкции Python if else выглядит следующим образом:
| if условие1: оператор1 elif условие2: оператор2 else: оператор3 |
| 1 2 3 4 | if x > 0: if x < 2: else: оператор |
Следует обратить внимания, что знак сравнения в Питоне записывается, как два знака =:
| 1 2 3 4 5 6 | if x < 0: блок1 elif x == 0: # сравнение! блок2 else: блок3 |
Другой пример использования условия:
| 1 2 3 4 5 6 | if x < 0: print(‘мало’) elif x == 0: print(‘средне’) else: print(‘много’) |
СЛОЖНЫЕ УСЛОВИЯ
- Использование двойных неравенств разрешено:
| 1 2 3 4 | if 0 < x < 2: if 0 < y < 2: else: оператор |
- Пример использования условия c
elif:
| 1 2 3 4 5 6 | if x < 0: print(‘мало’) elif -0 <= x <= 0: print(‘средне’) else: print(‘много’) |
- Кроме того, можно применять логический оператор
AND(И):
if x >= 30 and x <= 40:
- Использование с оператором
in:
| site = “my.ru” if “ru” in site: print(“Условие выполнено!”) # Условие выполнено! |
- Кроме того, можно применять логический оператор
OR(ИЛИ):
| site = “my.ru” if “my” in site or site.endswith(“.ru”): # заканчивается на … print(“Условие выполнено!”) |
- Аналог тернарного оператора
uchenik_1 = 5 uchenik_2 = 2 otlichnik = "первый ученик" if uchenik_1 > uchenik_1 else "второй ученик" print(otlichnik) # первый ученик
Задание Python 1_6: Запрашивается количество часов и заработок в час. Рассчитать зарплату. Если работник работал более 40 часов, — то зарплата умножается на коэффициент 1,5. Оформить в формате дружелюбного интерфейса.
Пример: Дан год. Определить високосный ли год или нет? Вывести true или false (логическое значение).
Указания: Год является високосным если он кратен 4, но при этом не кратен 100, либо кратен 400.
✍ Решение:
| year = 2017 is_true = year % 4 == 0 and (year % 100 != 0 or year % 400 == 0) print(is_true) |
Задание Python 1_7: Напишите программу, которая определяет, верно ли, что введённое число – четырёхзначное. Вывести true или false (логическое значение).Задание Python 1_8: Напишите программу, которая вводит с клавиатуры номер месяца и определяет, сколько дней в этом месяце. Предусмотреть сообщение об ошибке в случае ввода неверного числа.