Занятие 3

Занятие 4

Занятие 5

Занятие 6

Занятие 7

Занятие 8

Занятие 9

Занятие 10

Занятие 1

Операции с числами

Рассмотрим простейшие операции, которые мы можем делать с числами, и их реализацию в языке python3:
a + b
Сложение
a - b
Вычитание
a * b
Умножение
a / b
Деление, возвращает нецелое число
Если вы пишете a = 4 / 2, то a будет равно 2.0
Аналогично, если a = 3 / 2, то a = 1.5
a ** b
Возвести a в степень b
Заметим, что при b = 0.5, a ** b = √a
a // b
Целочисленное деление
Работает только для натуральных чисел
a % b
Найти остаток от деления a на b
Работает только для натуральных чисел

Ввод c клавиатуры

Рассмотрим функцию input(), которая считывает строку с клавиатуры и возвращает значение считанной строки, которое сразу же присвоим переменым a и b:
a = input()
b = input()

Правда, функция input возвращает текстовую строку, а нам нужно сделать так, чтобы переменные имели целочисленные значения. Поэтому сразу же после считывания выполним преобразование типов при помощи фунцкии int, и запишем новые значения в переменные a и b.
a = int(a)
b = int(b)

Можно объединить считывание строк и преобразование типов, если вызывать функцию int для того значения, которое вернет функция input:
a = int(input())
b = int(input())

Вывод на клавиатуру

Функция print может выводить не только значения переменных, но и значения любых выражений. Например, допустима запись print(2 + 2 ** 2). Также при помощи функции print можно выводить значение не одного, а нескольких выражений, для этого нужно перечислить их через запятую:
a = 1
b = 2
print(a, '+', b, '=', a + b)

В данном случае будет напечатан текст 1 + 2 = 3.
Выводимые значение разделяются одним пробелом. Но такое поведение можно изменить. Для этого нужно функции print передать параметр sep, равный строке, используемой в качестве разделителя. Например, если символ двоеточия передать параметру sep, получится:
print(a, b, a + b, sep = ':')
1:2:3

Аналогично, для того, чтобы совсем убрать разделитель при выводе нужно передать параметр sep, равный пустой строке:
print(a, '+', b, '=', a + b, sep = '')
1+2=3

Отдельно отметим, что перевод строки в python3 обозначается символом "\n"

Условный оператор

Тут что-то будет

Занятие 2. Сортировка слиянием.

#merge sort
def swap_v(a1, a2):
    b1 = 0
    b2 = 0
    a3 = []
    while (b1 < len(a1)) and (b2 < len(a2)):
        if a1[b1] < a2[b2]:
            a3.append(a1[b1])
            b1 += 1
        else:
            a3.append(a2[b2])
            b2 += 1
    a3 += a1[b1: ] + a2[b2: ]
    return a3


def merge_sort(v):
    if len(v) == 1:
        return v
    return swap_v(merge_sort(v[:len(v) // 2]), merge_sort(v[len(v) // 2:]))


v = list(map(int, input().split()))
print(*merge_sort(v))