Самыми простыми являются линейные алгоритмы. В линейных алгоритмах используется единственная алгоритмическая конструкция – следование, то есть команды в таких алгоритмах выполняются последовательно, одна за другой, в том порядке, в котором они записаны.
Мы уже знаем, что приоритет выполнения арифметических операций в языке Python аналогичен математическому. Таким образом, при записи математических выражений стоит учитывать, что сначала вычисляются выражения в скобках, после чего выполняются действия возведения в степень.
В языке Python возможно использование множественного присваивания. Если записать инструкцию: b = a = 3
, то сначала будет создана ячейка оперативной памяти с целочисленным значением 3, после чего эта ячейка сначала будет связана с именем a, а потом и с именем b.
Также при помощи одной инструкции присваивания можно задать сразу несколько значений нескольким переменным. Для этого в инструкции, слева от знака равенства, через запятую перечисляются имена переменных, а справа от знака равенства – выражения, значения которых необходимо присвоить указанным переменным. Количество и порядок следования имён переменных и присваиваемых значений должны совпадать. пример a,b = 2,3
Процесс преобразования значения одного типа данных (целые числа, строки, числа с плавающей точкой и т. д.) в другой называется преобразованием типа. В Python есть два вида преобразования:
При неявном преобразовании типов Python автоматически преобразует один тип данных в другой. Этот процесс не требует участия пользователя.
num_int = 123
num_float = 1.23
num_new = num_int + num_float
print("Тип данных в num_int:", type(num_int))
print("Тип данных в num_float:", type(num_float))
print("Значение num_new:", num_new)
print("Тип данных в num_new:", type(num_new))
Теперь давайте попробуем сложить строку и целое число и посмотрим, как Python с этим справится.
# Складываем строку и целое число num_int = 123 num_str = "456" print("Тип данных в num_int:", type(num_int)) print("Тип данных в num_str:", type(num_str)) print(num_int + num_str)
В явном преобразовании программист сам заменяет текущий тип данных объекта на требуемый. Для этого используются встроенные функции, такие как int()
, float()
, str()
и т. д., чтобы выполнить явное преобразование типов.
Приведение типов можно выполнить, если присвоить выражению значение функции, соответствующее нужному типу данных.
num_int = 123 num_str = "456" print("Тип данных в num_int:", type(num_int)) print("Тип данных в num_str до явного приведения:", type(num_str)) num_str = int(num_str) print("Тип данных в num_str после явного приведения:", type(num_str)) num_sum = num_int + num_str print("Сумма num_int и num_str:", num_sum) print("Тип данных полученной суммы:", type(num_sum))
Функция print() обладает ещё двумя параметрами, которые вы можете указать для простого форматирования вывода.
sep - параметр, который отвечает за разделитель. По умолчанию пробел.
end - параметр, который отвечает за окончание строки. По умолчанию переход на новую строку.
Пример sep
print(1,2,3,sep='000')
print('1','2','3',sep='/')
print(1,'2',3,sep='.')
print(1,2,3,sep='-')
пример end
print('это',end=' ')
print('цельная',end=' ')
print('строка',end=', ')
print('',end='будьте уверены')
Иногда (а точнее, довольно часто) возникают ситуации, когда нужно сделать строку, подставив в неё некоторые данные, полученные в процессе выполнения программы (пользовательский ввод, данные из файлов и т. д.). Подстановку данных можно сделать с помощью форматирования строк.
Использование форматирования строк
name = "Эрик"
age = 74
print(f"Привет, {name}. Тебе {age} года.")
В составном операторе присваивания используются арифметические операторы. По своей сути составное присваивание - упрощенная форма записи математического выражения
Пример сложения с присваиванием:
a = 2
a += 5
print(a)
Составной оператор += прибавляет к переменной значение выражения справа от оператора присваивания и записывает получившийся результат в эту переменную. a += 5 эквивалентно a = a + 5.
Составное присваивание | Эквивалентное выражение |
---|---|
a **= b | a = a ** b |
a //= b | a = a // b |
a %= b | a = a % b |
a /= b | a = a / b |
a *= b | a = a * b |
a -= b | a = a - b |
a += b | a = a + b |
В Python хорошие ребята уже написали код практически для всех математических функций и добавили их в библиотеки. Так что вам вручную писать функции не придется, вы можете без зазрения совести использовать готовые решения.
Функция модуля возвращает неотрицательное значение аргумента. Иначе говоря, она не меняет неотрицательные значения, а отрицательные значения делает положительными.
Пример: модуль -3 равен 3, модуль -8.74 равен 8.74 и так далее.
abs(-99.99)
Синус — тригонометрическая функция, она принимает только одно значение в качестве аргумента — x. Аргумент должен быть выражен в радианах, не путайте со степенью.
Для того, чтобы использовать эту функцию, нам нужно импортироватть библиотеку с математическими функциями.
import math
math.sin(3.14159)
Округление - для округления у нас сразу две функции floor и ceil.
floor округляет число до ближайшего меньшего целого.
ceil округляет число до ближайшего большего целого.
import math
print(math.floor(3.5))
print(math.ceil(3.5))
Взятие корня производится командой sqrt
import math
print(math.sqrt(3.5))
v
километров в час. На какой отметке он остановится через t
часов? Программа получает на вход значение v
и t
. Если v>0
, то Вася движется в положительном направлении по МКАД, если же значение v<0
, то в отрицательном. Программа должна вывести целое число от 0 до 108 – номер отметки, на которой остановится Вася.a
гривен и b
копеек. Определите, сколько гривен и копеек нужно заплатить за n
пирожков. Программа получает на вход три числа: a
, b
, n
, и должна вывести два числа: стоимость покупки в гривназ и копейках.n
километров. Сколько дней нужно, чтобы проехать маршрут длиной m километров? Программа получает на вход числа n
и m
.a
и b
. Выведите гипотенузу треугольника с заданными катетами.h
метров, поднимаясь за день на a
метров, а за ночь спускаясь на b
метров. На какой день улитка доползет до вершины шеста? Программа получает на вход натуральные числа h
, a
, b
. Программа должна вывести одно натуральное число. Гарантируется, что a>b.H
часов, M
минут, S
секунд (0 ≤ H < 12
, 0 ≤ M < 60
, 0 ≤ S < 60
). По данным числам H
, M
, S
определите угол (в градусах), на который повернулаcь часовая стрелка с начала суток и выведите его в виде действительного числа.α
градусов. Определите на какой угол повернулась минутная стрелка с начала последнего часа. Входные и выходные данные — действительные числа.α
градусов. Определите сколько полных часов, минут и секунд прошло с начала суток, то есть решите задачу, обратную задаче «Часы - 1». Запишите ответ в три переменные и выведите их на экран.P
процентов годовых, которые прибавляются к сумме вклада. Вклад составляет X
рублей Y
копеек. Определите размер вклада через год. Программа получает на вход целые числа P
, X
, Y
и должна вывести два числа: величину вклада через год в рублях и копейках. Дробная часть копеек отбрасывается.