Python. Теория

 

Теория

Функции ввода-вывода
  • 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 в действительное число
Метод int() переводит строковые значения различных позиционных СС в 10СС
int('111',2) - переведет строковое значение '111' из 2СС в 10СС, результат число 7
int('10',8)=8
int('f',16)=15
  • 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


Приоритет арифметических действий
  1. скобки
  2. степень
  3. умножение и деление(/ и // и %)
  4. сложение и вычитание
Арифметика строк

Код

Результат

'Hello,'+'мир'

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


len() - функция вычисляющая длину строки (количество символов в строке)

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

Операции сравнения

Равно

==

Больше

> 

Меньше

< 

Больше или равно

>=

Меньше или равно

<=

Не равно

!=


Логические связки: and (И), or (ИЛИ), not (НЕ)

if <условие>:
    <блок инструкций условие истинно>
else:
    <блок инструкций условие ложно>
<блок инструкций после>

Блок инструкций внутри условного оператора пишем с новой строки, отделяя отступом в 4 пробела (если это не заложено в среде, обычно после знака «:» отступ при переходе на новую строку ставиться автоматически)

if <условие>:
    <блок инструкций условие истинно>
<блок инструкций после>


Разделить алгоритм не на два пути, а на три или больше можно с помощью оператора elif

if <условие 1>:
    <блок инструкций условие 1 истинно>
elif <условие 2>:
    <блок инструкций условие 2 истинно>
elif <условие 3>:
    <блок инструкций условие 3 истинно>
else:
    <блок инструкций все условия ложны>

Цикл for

Цикл for повторяет команды заданное число раз. Так выглядит его запись:

for переменная in range(целое число):
    команды

Внутри скобок range мы пишем, сколько раз повторять команды.

Функция range(n) создает специальный объект, содержащий целые числа от 0 до n-1. Мы будем называть его диапазоном (от англ. range — диапазон).

При выполнении for i in range(n): в переменную i по очереди записываются числа 0, 1, ..., n-1. Для каждого значения i выполняются команды внутри цикла. Так как i проходит через n значений, то команды повторяются n раз.

Шаг в range()

Если нужно перебирать числа не подряд, а с определенным интервалом (шагом) между ними, то можно использовать функцию range(старт, финиш, шаг).

Функция range(start, finish, step) отдаст набор чисел, идущих от числа start (включительно) до числа finish (не включительно) с шагом step. Шаг может быть отрицательным.

Помимо перебора чисел диапазона, цикл for используется для перебора символов строки.

for переменная in строка:
    команды

Код

Результат

for i in range(4):
    print(i)

0
1
2
3

for i in range(1,4):
    print(i)

1
2
3

for i in range(1,9,2):
    print(i)

1
3
5
7

for i in range(10,7,-1):
    print(i)

10
9
8

s='код'
for i in s:
    print(i)

к
о
д 



Цикл while

while <условие>:
    <тело цикла>

Пока верно условие, цикл повторяется. После каждого прохождения тела цикла, условие проверяется, если оно ложно, осуществляется выход из цикла. Если условие истинно всегда, то происходит зацикливание.

Код

Результат

x=10
while x>0:
    print(x)
    x=x-2

10
8
6
4
2


Срезы и методы строк

В Python у всех символов строки есть номера, и можно получить символ
по его номеру
Символы строки пронумерованы слева направо начиная с 0
Эти номера называются индексами
Индекс записывают в квадратных скобках после строки: строка[индекс]
Например, "текст"[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 не меняется.
Функция (метод) replase - позволяет производить поиск и замену одних частей строки на другие нужное количество раз
Синтаксис
С помощью функции replase получается следующая строка s1 из строки s:
s1=s.replace(old, new) - находит и меняет все old на new до конца строки s
s1=s.replace(old, new, num) - находит и меняет old на new num раз.

Код

Результат

s='145312341154'
s1=s.replace('1','0')
print(s1)

045302340054

s='145312341154'
s1=s.replace('1','*',2)
print(s1)

*453*2341154


Генерация случайных чисел

import random

random.randrange(start, stop, step) - возвращает случайно выбранное число из последовательности

random.randint(A, B) - случайное целое число N, A ≤ N ≤ B

random.random() - случайное число от 0 до 1


Массивы
x=[] - создать пустой массив
x=[2, 14, -6, 23] - числа
x=['1', 'питон', 'www'] - строки
len(x) - количество элементов в массиве
x.append(значение) - добавление элемента в конец массива

Арифметика массивов 

Код

Результат

a=[2,4]
b=[11,-5]
print(a+b)

[2,4,11,-5]

a=[2,4]
print(a*3)

[2,3,2,4,2,4]


x=list(s) - получение из символов строки s массива x

x=list('Python')
print(x)

['P','y','t','h','o','n']

Функции и методы

Функция в python - объект, принимающий аргументы и возвращающий значение. Обычно функция определяется с помощью инструкции def. Инструкция return говорит, что нужно вернуть значение.

Метод split(m,n) превращает исходную строку в массив строк по выбранному элементу m заданное количество раз n.
Пример:
Была строка s='MNBGHJAGBVDXJAJHJIUUGFDAMJUOIP'
Применили a=s.split('A')  режем по букве A
Получаем массив строк a=['MNBGHJ','GBVDXJ','JHJIUUGFD','MJUOIP'], буква 'A' по которой резали строку удаляется

Метод sort()
Сортировка элементов массива методом sort() производится по умолчанию в алфавитном порядке, а также от меньшего значения к большему.

Код

Результат

s=['m','a','b','n']
s.sort()
print(s)

['a', 'b', 'm', 'n']

a=[23,4,1,5]
a.sort()
print(a)

[1, 4, 5, 23]