Линейный алгоритм

Типы данных

Итак, мы видим, что Питон умеет работать как минимум с двумя видами данных — числами и строками. Числа записываются последовательностью цифр, также перед числом может стоять знак минус, а строки записываются в одинарных кавычках. 2 и '2' — это разные объекты, первый объект — число, а второй —строка. Операция + для целых чисел и для строк работает по-разному: для чисел это сложение, а для строк —конкатенация.

Кроме целых чисел есть и другой класс чисел: действительные (вещественные числа), представляемые в виде десятичных дробей. Они записываются с использованием десятичной точки, например, 2.0. В каком-то смысле, 2 и 2.0 имеют равные значение, но это—разные объекты. Например, можно вычислить значения выражения 'ABC' * 10 (повторить строку 10 раз), но нельзя вычислить 'ABC' * 10.0.

Определить тип объекта можно при помощи функции type:

>>> type(2)
 <class 'int'>
 >>> type('2')
 <class 'str'>
 >>> type(2.0)
 <class 'float'> 

Обратите внимание —type является функцией, аргументы функции указываются в скобках после ее имени.

Вот список основных операций для чисел:
A + B — сумма;
A - B — разность;
A * B — произведение;
A / B — частное;
A ** B — возведение в степень.

Полезно помнить, что квадратный корень из числа x — это x ** 0.5, а корень степени n это x ** (1 / n).

Часто  используют сокращенную запись арифметических операций

Есть также унарный вариант операции -, то есть операция с одним аргументом. Она возвращает число, противоположное данному. Например: -A.

В выражении может встречаться много операций подряд. Как в этом случае определяется порядок действий? Например, чему будет равно 1 + 2 * 3 ** 1 + 1? В данном случае ответ будет 8, так как сначала выполняется возведение в степень, затем – умножение, затем — сложение.

Более общие правила определения приоритетов операций такие:

  1. Выполняются возведения в степень справа налево, то есть 3 ** 3 ** 3 это 3(33).
  2. Выполняются унарные минусы (отрицания).
  3. Выполняются умножения и деления слева направо. Операции умножения и деления имеют одинаковый приоритет.
  4. Выполняются сложения и вычитания слева направо. Операции сложения и вычитания имеют одинаковый приоритет.

Основные операции над строками:
A + B — конкатенация;
A * n — повторение n раз, значение n должно быть целого типа.

Дополнительные операции и функции

возведение в степень

a**b

остаток от деления

a%b

целочисленное деление

a//b

d = 85

a = d // 10   # = 8

b = d % 10    # = 5
группа:
print ( -7 // 2 )
print ( -7 % 2 )
 
выдаст на экран числа «–4» и 1.

абсолютная величина

abs(x)

int(x)

приведение вещественного числа x к целому, отбрасывание дробной части;

round(x)

округление вещественного числа x к ближайшему целому.

import math

 добавление математических функций, тогда только можно ими пользоваться

from math import *

from math import sqrt, sin, cos

корень квадратный

math.sqrt(x)