На уроке рассмотрены примеры использования оператора присваивания на языке python, примеры работы с основными арифметическими операторами. Узнаете об одной из функций преобразования типов (int). Изучите работу условного оператора, оператора python print и input.
Среда разработки
Для обучения используется IDLE python 3.4 GUI (возможна и другая среда разработки).
Основным окном IDLE является окно интерпретатора, позволяющее программировать в интерактивном режиме, т.е. после ввода команды, она сразу же исполняется после нажатия [Enter]. Каждая строка начинается с символов >>>
, результат выполнения отображается сразу под строкой оператора:

IDLE python 3.4
Для полноценной работы и сохранения результатов в файл следует выбрать в меню File пункт New File. После чего в открывшемся окне можно набирать код программы.
Сравнение кода двух языков
Для начала сравним фрагменты кода одной и той же программы, написанной на Python и на C++. Результат показывает, насколько меньше код, написанный на Python:
На PYTHON
На С++
1
2
3
4
5
| #include <iostream>
void main()
{
cout << "Hello, World!" << endl;
} |
#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 |
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:
1
2
3
4
5
| a = 1
b = 2
print(a)
print(a + b)
print('сумма = ', a + b) |
a = 1
b = 2
print(a)
print(a + b)
print('сумма = ', a + b)
- Существует возможность записи инструкций в одну строку, разделяя их через
;
. Однако не следует часто использовать такой способ, это снижает удобочитаемость:
1
2
3
| a = 1; b = 2; print(a)
print(a + b)
print('сумма = ', a + b) |
a = 1; b = 2; print(a)
print(a + b)
print('сумма = ', a + b)
- Для функции print может задаваться так называемый сепаратор — разделитель между элементами вывода:
1
2
3
| x=2
y=5
print ( x, "+", y, "=", x+y, sep = " " ) |
x=2
y=5
print ( x, "+", y, "=", x+y, sep = " " )
Результат отобразится с пробелами между элементами: 2 + 5 = 7
- Для форматированного вывода используется format:
1
2
| x = 11
print ( "{:4d}".format(x) ) |
x = 11
print ( "{:4d}".format(x) )
В результате выведется число 11, а перед ним два пробела, так как указано использовать для вывода четыре знакоместа.
- Или с несколькими аргументами:
1
2
| x = 2
print ( "{:4d}{:4d}{:4d}".format (x, x+x, x*x) ) |
x = 2
print ( "{:4d}{:4d}{:4d}".format (x, x+x, x*x) )
В итоге каждое из значений выводится из расчета 4 знакоместа.
- Ввод данных осуществляется при помощи оператора
input
:
- В скобках функции можно указать сообщение-комментарий к вводимым данным:
a = input ("Введите количество: ") |
a = input ("Введите количество: ")
- Функция input воспринимает входные данные, как поток символов. Поэтому, чтобы принять целочисленное значение, следует воспользоваться функцией int():
Задание Python 1_1:
Используя операторы input и print, выведите значения целых переменных x=5 и y=3 в следующих форматах:
3+5=?
3 | 5 | 8
Z(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 |
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 |
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 |
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 |
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)
# Как
# оставить сроку
# в несколько строк |
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) # Можно и так!Можно и так!Можно и так! |
# Как объединить две строки в одну
print("Можно их" + " сложить") # Можно их сложить
print("Можно и так!" * 3) # Можно и так!Можно и так!Можно и так!
Рассмотрим примеры того, как используется преобразование типов в Питон:
- преобразование в символьную строку:
1
2
3
| a = 1.7
a=str(a)
print(a) # '1.7' |
a = 1.7
a=str(a)
print(a) # '1.7'
- преобразование в целое:
1
2
3
| x = 1.7
x=int(x)
print(x) # 1 |
x = 1.7
x=int(x)
print(x) # 1
- преобразование в вещественное:
1
2
3
| y=1
y=float(y)
print(y) # 1.0 |
y=1
y=float(y)
print(y) # 1.0
Python для систем счисления
- bin(y) — целое число преобразовывается в двоичную строку.
- hex(y) — целое число преобразовывается в шестнадцатеричную строку.
- oct(y) — целое число преобразовывается в восьмеричную строку.
Рассмотрим примеры работы с системами счисления:
bin(17) # '0b10001'
oct(17) # '0o21'
hex(17) # '0x11' |
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)) |
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 |
if условие1:
оператор1
elif условие2:
оператор2
else:
оператор3
1
2
3
4
| if x > 0:
if x < 2:
else:
оператор |
if x > 0:
if x < 2:
else:
оператор
Следует обратить внимания, что знак сравнения в Питоне записывается, как два знака =
:
1
2
3
4
5
6
| if x < 0:
блок1
elif x == 0: # сравнение!
блок2
else:
блок3 |
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('много') |
if x < 0:
print('мало')
elif x == 0:
print('средне')
else:
print('много')
Сложные условия
- Использование двойных неравенств разрешено:
1
2
3
4
| if 0 < x < 2:
if 0 < y < 2:
else:
оператор |
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('много') |
if x < 0:
print('мало')
elif -0 <= x <= 0:
print('средне')
else:
print('много')
- Кроме того, можно применять логический оператор
AND
(И):
if x >= 30 and x <= 40:
... |
if x >= 30 and x <= 40:
...
- Использование с оператором
in
:
site = "my.ru"
if "ru" in site:
print("Условие выполнено!") # Условие выполнено! |
site = "my.ru"
if "ru" in site:
print("Условие выполнено!") # Условие выполнено!
- Кроме того, можно применять логический оператор
OR
(ИЛИ):
site = "my.ru"
if "my" in site or site.endswith(".ru"): # заканчивается на ...
print("Условие выполнено!") |
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) # первый ученик |
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.
✍ Решение:
Задание Python 1_7: Напишите программу, которая определяет, верно ли, что введённое число – четырёхзначное. Вывести true
или false
(логическое значение).
Задание Python 1_8: Напишите программу, которая вводит с клавиатуры номер месяца и определяет, сколько дней в этом месяце. Предусмотреть сообщение об ошибке в случае ввода неверного числа.
! Решения заданий можно попросить у администратора, выслав письмо с запросом на электронный адрес (внизу веб-страницы). В письме укажите Ваши ФИО, город, должность (учитель/ученик/студент). Укажите, занимаетесь ли самостоятельно и номер урока, решения которого необходимо выслать.
Dmitry
На С++
#include
void main()
{
cout << "Hello, World!" << endl;
}
Где у Вас программка на С, надо бы строчку с include закончить
Валентина
Я только начала изучать язык, поэтому могу ошибаться. Предлагаю другое решение примера: «Дано двузначное число. Найти сумму и произведение его цифр»
x = int(input(«x…»))
print(«amount = «, x//10+x%10)
print(«multiplication = «, (x//10)*(x%10))
Если что-то не так, прошу исправить меня
Xao FanTzilin
1. Математический модуль после первого подключения останется подключен до конца работы скрипта или его можно (или нужно) отключать? Вопрос интересует в контексте экономии памяти (или в данном случае это не имеет значения?)..
2. В примере показа строчных типов в исполняемой строке:
example_string = «Пьеса \»На дне\»
не хватает замыкающей кавычки (насколько я понимаю).
3. В примере с тернарным опереатором:
otlichnik = «первый ученик» if uchenik_1 > uchenik_1 else «второй ученик»
мне кажется, должно быть
…..uchenik_1 > uchenik_2…..