Теория
- pritnt() - вывод данных, печать данных в окне вывода
 
Команда  | Результат  | 
print(1,2)  | 1 2  | 
print('12')  | 12  | 
print('Hello, world')  | Hello, world  | 
print('a','b','c')  | a b c  | 
print('aaa', 5+2,'5+2')  | aaa 7 5+2  | 
- input() - ввод данных с клавиатуры. Данные ВСЕГДА являются СТРОКОЙ. чтобы перевести строку в число используем функцию int(). Например, a=int(input())
 - int() - переводить строку в число
 - float(x) - переводит значение переменной x в действительное число
 
- str() - переводит число в строку
 - max() - вычисляет максимальный из аргументов. Например mx=max(a,b,c), переменной mx будет присвоено наибольшее значение из a, b, c
 - min() - вычисляет минимальный из аргументов
 
Операция  | Результат  | 
5+2  | 7  | 
5-2  | 3  | 
5*2  | 10  | 
  5/2  | 2,5  | 
5**2  | 25  | 
Операция  | Результат  | 
13//5  | 2  | 
13%5  | 3  | 
12//3  | 4  | 
12%3  | 0  | 
3//12  | 0  | 
3%12  | 0  | 
- скобки
 - степень
 - умножение и деление(/ и // и %)
 - сложение и вычитание
 
Код  | Результат  | 
'Hello,'+'мир'  | |
'Hello, '+'мир'  | Hello, мир  | 
'A'*5  | AAAAA  | 
'A'+'-a'*5+'!'  | A-a-a-a-a-a!  | 
'19'+12  | ошибка!!!  | 
'19'+str(12)  | 1912  | 
int('19')+12  | 31  | 
Операции сравнения
| 
   Равно  | 
  
   ==  | 
 
| 
   Больше  | 
  
   >  | 
 
| 
   Меньше  | 
  
   <  | 
 
| 
   Больше или равно  | 
  
   >=  | 
 
| 
   Меньше или равно  | 
  
   <=  | 
 
| 
   Не равно  | 
  
   !=  | 
 
Логические связки: and (И), or (ИЛИ), not (НЕ)
if <условие>:
<блок инструкций условие истинно>
else:
<блок инструкций условие ложно>
<блок инструкций после>
Блок инструкций внутри условного оператора пишем с новой строки, отделяя отступом в 4 пробела (если это не заложено в среде, обычно после знака «:» отступ при переходе на новую строку ставиться автоматически)
if <условие>:
<блок инструкций условие истинно>
<блок инструкций после>
Разделить алгоритм не на два пути, а на три или больше можно с помощью оператора elif
if <условие 1>:
<блок инструкций условие 1 истинно>
elif <условие 2>:
<блок инструкций условие 2 истинно>
elif <условие 3>:
<блок инструкций условие 3 истинно>
else:
<блок инструкций все условия ложны>
Цикл for повторяет команды заданное число раз. Так выглядит
его запись:
команды
Внутри скобок range мы пишем, сколько раз повторять команды.
Функция range(n) создает специальный объект, содержащий
целые числа от 0 до n-1. Мы будем называть его диапазоном (от англ. range —
диапазон).
Если нужно перебирать числа не подряд, а с определенным
интервалом (шагом) между ними, то можно использовать функцию range(старт,
финиш, шаг).
Функция range(start, finish, step) отдаст набор чисел,
идущих от числа start (включительно) до числа finish (не включительно) с шагом step.
Шаг может быть отрицательным.
Помимо перебора чисел диапазона, цикл for используется для
перебора символов строки. 
команды
Код  | Результат  | 
for i in range(4):  | 0  | 
for i in range(1,4):  | 1  | 
for i in range(1,9,2):  | 1  | 
for i in range(10,7,-1):  | 10  | 
s='код'  | к  | 
Цикл while
while <условие>:
    <тело цикла>
Пока верно условие, цикл повторяется. После каждого прохождения тела цикла, условие проверяется, если оно ложно, осуществляется выход из цикла. Если условие истинно всегда, то происходит зацикливание.
| 
   Код  | 
  
   Результат  | 
 
| 
   x=10  | 
  
   10  | 
 
Срезы и методы строк
по его номеру
Эти номера называются индексами
Например, "текст"[0] — это "т".
Срез строки - это часть строки между заданными индексами
Срез записывают так: строка[старт:финиш]
Срез можно взять с шагом: строка[старт:финиш:шаг]
- string.find(substring) ищет substring в string. Находит первую (левую) такую подстроку и возвращает индекс её первого символа. Если такой подстроки нет, возвращает -1.
 - string.rfind(substring) ищет substring в string. Находит последнюю (правую) такую подстроку и возвращает индекс её первого символа. Если такой подстроки нет, возвращает -1.
 - string.count(substring) считает, сколько в string подстрок substring. Возвращает целое число.
 - string.replace(old, new) возвращает новую строку, равную string, в которой все подстроки old поменяли на new. Сама строка string не меняется.
 
Код  | Результат | 
s='145312341154'  | 045302340054  | 
s='145312341154'  | *453*2341154  | 
Генерация случайных чисел
import random
random.randrange(start, stop, step) - возвращает случайно
выбранное число из последовательности
random.randint(A, B) - случайное целое число N, A ≤ N ≤ B
random.random() - случайное число от 0 до 1
Код  | Результат | 
a=[2,4]  | [2,4,11,-5]  | 
a=[2,4]  | [2,3,2,4,2,4]  | 
x=list(s) - получение из символов строки s массива x
x=list('Python')
['P','y','t','h','o','n']
Код  | Результат | 
s=['m','a','b','n']  | ['a', 'b', 'm', 'n']  | 
a=[23,4,1,5]  | [1, 4, 5, 23]  |