На уроке рассмотрены примеры использования оператора присваивания на языке python, примеры работы с основными арифметическими операторами. Узнаете об одной из функций преобразования типов (int). Изучите работу условного оператора, оператора python print и input.
Для обучения используется IDLE python 3.4 GUI (возможна и другая среда разработки).
Основным окном IDLE является окно интерпретатора, позволяющее программировать в интерактивном режиме, т.е. после ввода команды, она сразу же исполняется после нажатия [Enter]. Каждая строка начинается с символов >>>, результат выполнения отображается сразу под строкой оператора:
Для полноценной работы и сохранения результатов в файл следует выбрать в меню File пункт New File. После чего в открывшемся окне можно набирать код программы.
Сравнение кода двух языков
Для начала сравним фрагменты кода одной и той же программы, написанной на Python и на C++. Результат показывает, насколько меньше код, написанный на Python:
Оператором присваивания является символ =. Выполняется оператор стандартным образом: сначала вычисляется выражения справа от знака равенства, а затем полученное значение записывается в переменную, указанную слева от знака равенства.
1
2
3
4
5
6
7
8
9
10
A =3.14print(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 =2print(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=5print( x,"+", y,"=", x+y, sep =" ")
x=2
y=5
print ( x, "+", y, "=", x+y, sep = " " )
Результат отобразится с пробелами между элементами: 2 + 5 = 7
Кроме того, можно использовать параметр end:
print(1,2,3, sep=', ', end='. ')# 1, 2, 3.
print(1, 2, 3, sep=', ', end='. ') # 1, 2, 3.
Для форматированного вывода используется format:
1
2
x =11print("{:4d}".format(x))
x = 11
print ( "{:4d}".format(x) )
В результате выведется число 11, а перед ним два пробела, так как указано использовать для вывода четыре знакоместа.
Или с несколькими аргументами:
1
2
x =2print("{:4d}{:4d}{:4d}".format(x, x+x, x*x))
x = 2
print ( "{:4d}{:4d}{:4d}".format (x, x+x, x*x) )
В итоге каждое из значений выводится из расчета 4 знакоместа.
Ввод данных осуществляется при помощи оператора input:
1
2
a =input()print(a)
a = input()
print(a)
В скобках функции можно указать сообщение-комментарий к вводимым данным:
a =input("Введите количество: ")
a = input ("Введите количество: ")
Функция input воспринимает входные данные, как поток символов. Поэтому, чтобы принять целочисленное значение, следует воспользоваться функцией int():
a =int(input())
a = int (input())
Задание 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 к ближайшему целому;
ceil(x) — округление числа вверх («потолок»);
floor(x) — округление числа вниз («пол»);
sqrt(x) – квадратный корень числа;
exp(x) – экспонента x;
log(x) – натуральный логарифм x.
Перечисленные функции можно использовать в программе, только подключив специальный модуль (библиотеку функций):
importmath# далее используем какую-либо функцию:print(math.sqrt(64))# 8.0
import math
# далее используем какую-либо функцию:
print (math.sqrt(64)) # 8.0
Можно назначить псевдоним для обращения к модулю:
importmathas m
# далее используем какую-либо функцию:print(m.sqrt(64))# 8.0
import math as m
# далее используем какую-либо функцию:
print (m.sqrt(64)) # 8.0
Или можно также подключить данную функцию из модуля:
frommathimport sqrt
# далее используем какую-либо функцию:print(sqrt(64))# 8.0
from math import sqrt
# далее используем какую-либо функцию:
print (sqrt(64)) # 8.0
Типы данных и преобразование типов
Перечислим основные типы данных в Python, которые понадобятся на ближайших уроках:
int – целочисленные значения; float – вещественные (дробные) значения; bool – логические значения — истина (True) или ложь (False); str – символьная строка или единичный символ.
Рассмотрим примеры использования основных типов в Python: Целые числа (int):
num =13print(num)# 13
num =0print(num)# 0
num = -10print(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.4print(num)# 13.4
num =0.0print(num)# 0.0
num = -15.2print(num)# -15.2
num =100_000.000_002 # для удобства чтенияprint(num)# 100000.000002
num =1.7e2# 1.7 умножить на 10 в степени 2print(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)# Trueprint(1!=3)# Trueprint(3>4)# Falseprint(3<=3)# Trueprint(6>=6)# Trueprint(6<5)# False
x =2print(1< x <3)# True
Задание 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 и их сумму.
* Из задачника М. Э. Абрамян
Пример: Дано двузначное число. Найти сумму и произведение его цифр.
* Из задачника М. Э. Абрамян
✍ Решение:
importmathprint('Введите двузначное число: ')
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:
оператор1elif условие2:
оператор2else:
оператор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:
блок1elif x ==0: # сравнение!
блок2else:
блок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
if0< x <2:
if0< 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('много')
Логические операторы
Вместо сложных условий можно применять логические операторы:
site = "my.ru"
if "ru" in site:
print("Условие выполнено!") # Условие выполнено!
Кроме того, можно применять логический оператор OR (ИЛИ):
site="my.ru"if"my"insiteorsite.endswith(".ru"): # заканчивается на ...print("Условие выполнено!")
site = "my.ru"
if "my" in site or site.endswith(".ru"): # заканчивается на ...
print("Условие выполнено!")
Задание Python 1_6: Запрашивается количество часов и заработок в час. Рассчитать зарплату. Если работник работал более 40 часов, — то зарплата умножается на коэффициент 1,5. Оформить в формате дружелюбного интерфейса.
Пример: Дан год. Определить високосный ли год или нет? Вывести true или false (логическое значение). Указания: Год является високосным если он кратен 4, но при этом не кратен 100, либо кратен 400.
✍ Решение:
year =2017
is_true = year % 4==0and(year % 100!=0or year % 400==0)print(is_true)
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: Напишите программу, которая вводит с клавиатуры номер месяца и определяет, сколько дней в этом месяце. Предусмотреть сообщение об ошибке в случае ввода неверного числа.
! Решения заданий можно попросить у администратора, выслав письмо с запросом на электронный адрес (внизу веб-страницы). В письме укажите Ваши ФИО, город, должность (учитель/ученик/студент). Укажите, занимаетесь ли самостоятельно и номер урока, решения которого необходимо выслать.
6 комментариев для “Python Урок 1. Арифметические действия и конструкции”
1. Математический модуль после первого подключения останется подключен до конца работы скрипта или его можно (или нужно) отключать? Вопрос интересует в контексте экономии памяти (или в данном случае это не имеет значения?)..
2. В примере показа строчных типов в исполняемой строке:
example_string = «Пьеса \»На дне\»
не хватает замыкающей кавычки (насколько я понимаю).
3. В примере с тернарным опереатором:
otlichnik = «первый ученик» if uchenik_1 > uchenik_1 else «второй ученик»
мне кажется, должно быть
…..uchenik_1 > uchenik_2…..
Можете отправить решение задач по пайтону
Хасуева Седа Адамовна, город Грозный, занимаюсь самостоятельно, ученик, хотелось бы получить ответы на Урок1 Python, пожалуйста!
Если есть возможность, хотелось бы узнать ответы на задачи первого урока по пайтону!
Обсуждение закрыто.
Все права защищены. Использование любых материалов сайта возможно только с разрешения правообладателя. По вопросам размещения рекламы на сайте - обращайтесь: mayersvetlana @ yandex.ru
На С++
#include
void main()
{
cout << "Hello, World!" << endl;
}
Где у Вас программка на С, надо бы строчку с include закончить
Я только начала изучать язык, поэтому могу ошибаться. Предлагаю другое решение примера: «Дано двузначное число. Найти сумму и произведение его цифр»
x = int(input(«x…»))
print(«amount = «, x//10+x%10)
print(«multiplication = «, (x//10)*(x%10))
Если что-то не так, прошу исправить меня
1. Математический модуль после первого подключения останется подключен до конца работы скрипта или его можно (или нужно) отключать? Вопрос интересует в контексте экономии памяти (или в данном случае это не имеет значения?)..
2. В примере показа строчных типов в исполняемой строке:
example_string = «Пьеса \»На дне\»
не хватает замыкающей кавычки (насколько я понимаю).
3. В примере с тернарным опереатором:
otlichnik = «первый ученик» if uchenik_1 > uchenik_1 else «второй ученик»
мне кажется, должно быть
…..uchenik_1 > uchenik_2…..
Можете отправить решение задач по пайтону
Хасуева Седа Адамовна, город Грозный, занимаюсь самостоятельно, ученик, хотелось бы получить ответы на Урок1 Python, пожалуйста!
Если есть возможность, хотелось бы узнать ответы на задачи первого урока по пайтону!