Занятие 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))