# Python Метод динамической строгой типизации. Не должны указывать тип переменной. Тип переменной должны ук фунцкия int превращает в строку функция str - превращает строку в число len - вернет длину последовательности s[N - 1] - отрицательный индекс s[3:5] - срез. Первый входит, послений не включительно s[::-1] - зеркальное отражение/реверс строки **Арифметика** x3 = x **y (x в третьей степени) квадратный корень из 3 = 3**0,5 a в степение b в спенени c = a**b**c(сначала выесляется с потом b потом а) -x= -x 2/3 = 0,666... (float - дробные значения) X div / y = x // y - деление с отрбасыванием дробей (целочисленное деление) xmod / y = x%y - деление с остатком -12%10 = -2 (-11)//10= -2 (-11)%10 = 9 **Управляющие операции** цикл while, цикл for while условие: (заголовок) оператор 1 (тело цикла - последовательность оператора выполняемое технически) оператор 2 ..... оператор N итеррация - однократное выполнение тела цикла break - остановка цикла -без использования последующего else(выход из цикла) else: после всех иттераций 2+2==4 - операция присваивания 2+2=4 - операция сравнения **Вложенный цикл** while x>0: y=x while y>0: y -=1 x=x+1 ==> x+=1 x = x-10 ==> x-=10 *= /= //= %= x=int(input()) - загоняем строку input в целочисленное число int x=int(input()) while x>0: while y>0: y-=1 print(y) x-=1 print("stop") if условие: on 1 else: on 2 **Цикл for** for x in 1,5,2,4,3: print(x**2) else: **range** (start,stop,step) - генератор арифметической прогрессии универсальный range(1,10,1) 1,2,3...9 continue - оператор остановить и продолжить сначала ![](https://i.imgur.com/Tirf7vR.png) ![](https://i.imgur.com/dZUtafD.png) ![](https://i.imgur.com/3qgjcr6.png) ![](https://i.imgur.com/gNV2yO5.jpg) ДЗ 1 #dzpython1 пользователь вводит два числа, выведите эти числа на экран в порядке убывания *пользователь вводит три числа для заданий выше сортировку и подобные функции не используем ** решите задачу для произвольного количества чисел внутри одного print(...) (использовать сортировку можно), здесь числа вводятся в один input через пробел, т.е. так: 1 44 55 22 12 32 0 77... **Метод List.sort в Python** https://dev-gang.ru/article/metod-listsort-v-python-b5gidv4ync/ **Сортировка** https://tatyderb.gitbooks.io/python-step-by-step/content/chapter_seq/8-sort.html ![](https://i.imgur.com/gG33iId.png) # Cтроковые методы https://www.programiz.com изучение питон https://www.codewars.com - решение задач для практики ДЗ 2 === дз2 дана строка, найдите самую "большую" букву в этой строке и ее индекс. (буквы в строке это тоже строки и их можно сравнивать, т.е. условие "a" > "g" - валидное. Строки сравниваются в алфавитном порядке. Например для строки "abhcdefg"самая большая буква это h, а ее индекс - 2. *найдите вторую "большую" букву в строке. Для строки "abhcdefg" ответ - "g" **сделайте задание * в одну строку внутри print(<весь код здесь>) ВО ВСЕХ ЗАДАНИЯХ ВЫШЕ ФУНКЦИИ MAX и SORT ИСПОЛЬЗОВАТЬ НЕЛЬЗЯ ![](https://i.imgur.com/gxZwjcc.png) ![](https://i.imgur.com/PgjpPN3.png) ![](https://i.imgur.com/Ai1GLeW.png) ![](https://i.imgur.com/FzwAcWD.png) ![](https://i.imgur.com/hd3d7Ol.png) ![](https://i.imgur.com/AzFbvZm.png) пузырьковая сортировка ![](https://i.imgur.com/bFlcNJ5.png) # урок 3 Числа могут быть преобразованы в строки с помощью функции **str()**. Например, **str(123)** даст строку ’123’. Если строка является последовательностью знаков-цифр, то она может быть преобразована в целое число в помощью функции **int()**: **int(’123’)** даст в результате число 123, а в вещественное с помощью функции **float()**: **float(’12.34’)** даст в результате число 12.34. Для любого символа можно узнать его номер (код символа) с помощью функции **ord()**, на- пример, **ord(’s’)** даст результат 115. И наоборот, получить символ по числовому коду можно с помощью функции **chr()**, например **chr(100)** даст результат ’d’. **Базовые операции над строками** ![](https://i.imgur.com/pNauS35.png) **Условия и логические операции** Логический (**булевский**) тип может принимать одно из двух значений True (истина) или False (ложь). В языке Python булевский тип данных обозначается как bool, для приведения других типов данных к булевскому существует функ- ция bool(), работающая по следующим соглашениям: • строки: пустая строка — ложь, непустая строка — истина. • числа: нулевое число — ложь, ненулевое число (в том числе и меньшее единицы) — истина. • функции — всегда истина. Из логических переменных и выражений можно строить более сложные (со- ставные) логические выражения с помощью логических операторов: **not** (отри- цание, логическое НЕ), **or** (логическое ИЛИ) и **and** (логическое И): • x and y — логическое **«И»** (умножение). Принимает значение True (исти- на), только когда x = True и y = True. Принимает значение False (ложь), если хотя бы одна из переменных равна False, или обе переменные False. • x or y — логическое **«ИЛИ»** (сложение). Принимает значение True (исти- на), если хотя бы одна из переменных равна True, или обе переменные True. Принимает значение False (ложь), если x == y == False. • not x — логическое «НЕ» (отрицание). Принимает значение True (истина), если x == False. Принимает значение False (ложь), если x == True. Оператор **\** позволяет перенести часть кода на следующую строчку, число начальных пробелов в которой неважно. **Списки** ![](https://i.imgur.com/lnIZBKk.png) ![](https://i.imgur.com/xnZi5Y1.png) ![](https://i.imgur.com/Pfj7vJ4.png) ![](https://i.imgur.com/VN0Ce0r.png) ![](https://i.imgur.com/vaWT5gx.png) ![](https://i.imgur.com/Cy0nGz4.png) **Кортежи** ![](https://i.imgur.com/BiPR8xJ.png) ![](https://i.imgur.com/TSuk7Ko.png) **Словари** Словарь — это изменяемый (как список) неупорядоченный (в отличие от строк и списков) набор пар ’ключ:значение’. Словари оказываются очень удобными объектами для хра- нения данных и, по сути, являются своеобразной заменой базе данных. В словаре доступ к значениям осуществляется по ключам, которые заключаются в квадратные скобки (по аналогии с индексами строк и списков): >>> animal={’cat’:’кошка’,’dog’:’пёс’,’bird’:’птица’,’mouse’:’мышь’} >>> animal[’cat’] ’кошка’ Словари, как и списки, являются изменяемым типом данных: можно изме- нять, добавлять и удалять элементы — пары ’ключ:значение’. Изначально сло- варь можно создать пустым, например, dic = {} и лишь потом заполнить его элементами. Добавление и изменение имеет одинаковый синтаксис: словарь[ключ] = значение. Ключ может быть, как уже существующим (тогда происходит измене- ние значения), так и новым (происходит добавление элемента словаря). Удаление элемента словаря осуществляется с помощью функции del(dic[key]) или мето- да pop(key): >>> dic = {’cat’:’кошка’,’dog’:’пёс’,’bird’:’птица’,’mouse’:’мышь’} >>> dic[’cat’] = ’кот’ >>> dic {’mouse’: ’мышь’, ’cat’: ’кот’, ’dog’: ’пёс’, ’bird’: ’птица’} ![](https://i.imgur.com/DqcgklE.png) **Методы словарей** Метод Что делает clear() Удаляет все элементы из словаря copy() Возвращает неглубокую копию словаря fromkeys(seq[, v]) Возвращает словарь с ключами из seq и значениями, равными v (по умолчанию None) get(key[,d]) Возвращает значение ключа key. Если key не существует, возвращает d (по умолчанию None) items() Возвращает новый объект элементов словаря в формате (ключ, значение) keys() Возвращает новый объект с ключами словаря pop(key[,d]) Удаляет элемент с ключом key и возвращает его значение или d, если key не найден. Если d не было обозначено и key не найден, вызывает ошибку KeyError. popitem() Удаляет и возвращает произвольную пару (ключ, значение). Вызывае ошибку KeyError, если словарь пустой. setdefault(key[,d]) Если ключ key есть в словаре, возвращает соответствующее ему значение. Если нет, добавляет в словарь элемент с ключом key и значением d и возвращает d (по умолчанию None) update([other]) Обновляет словарь имеющимися парами ключ/значение из other, перезаписывая существующие ключи values() Возвращает новый объект со значениями словаря **Встроенные функции для словарей** Встроенные функции all(), any(), len(), cmp(), sorted() и т. д. часто используются со словарями для разных задач. Функция Описание all() Возвращает True, если все ключи словаря = True (или если словарь пуст) any() Возвращает True, если хотя бы один ключ словаря = True. Если словарь пуст, возвращает False. len() Возвращает длину (количество элементов) словаря cmp() Сравнивает элементы двух словарей (не работает в Python 3) sorted() Возвращает новый список с отсортированными ключами словаря #dzpython3 **ДЗ№3** даны три списка (придумайте их сами): список имен пользователей, список их ip, список логинов создайте список, содержащий информацию о каждом пользователе в виде словарая с ключами name, ip, login пример итогового списка: [{"name":"vasya","ip":"192.168.10.1","login":"vasya123"},{....},{....}] сдампите его в виде json-файла, используя модуль json. код для дампа: import json sp = ... # ваш объект для дампа (список пользователей) json.dump(sp,open("users.json","w")) #profit *сделайте ввод пользователей и их данных (с клавиатуры или из файла(ов) ![](https://i.imgur.com/TRTm8cV.png) ![](https://i.imgur.com/EqZRGiP.png) ![](https://i.imgur.com/Mo1MQOL.png) ДЗ 4 - работа с файлами и директориями ![](https://i.imgur.com/REJqQIR.png) ![](https://i.imgur.com/qtJFcvC.png) ![](https://i.imgur.com/JBKbsik.png) ![](https://i.imgur.com/6uq45Le.png) ![](https://i.imgur.com/vJM0OY4.png) Рефактор - меняет во всем файле, а так же в связанных ![](https://i.imgur.com/Xb9cc1K.png) # процедурное програмиррование ![](https://i.imgur.com/MdE667S.png) ![](https://i.imgur.com/i0EzEhd.png)![](https://i.imgur.com/01a6uMg.png) ![](https://i.imgur.com/Q0unMuc.png) ![](https://i.imgur.com/t8OzD6P.png) ![](https://i.imgur.com/pz4Rdpj.png) ![](https://i.imgur.com/9CDQ56W.png) ![](https://i.imgur.com/yBKsSLM.png) ![](https://i.imgur.com/8ydeBEB.png) global ![](https://i.imgur.com/2em1Wzb.png) лямбда функции ![](https://i.imgur.com/PFvZzjG.png) os system ![](https://i.imgur.com/1CnSv19.jpg) ![](https://i.imgur.com/epBFS4r.jpg) ![](https://i.imgur.com/afWSAuX.jpg) ![](https://i.imgur.com/Sn8vWZq.jpg) ![](https://i.imgur.com/OhujApc.jpg) check_output - вывод команды ![](https://i.imgur.com/he9O8VL.jpg) ![](https://i.imgur.com/cOrodwB.jpg) ![](https://i.imgur.com/HpyM4Oz.jpg) ![](https://i.imgur.com/qSQ2JYO.jpg) ![](https://i.imgur.com/eX6zETp.jpg) ![](https://i.imgur.com/Kll75uM.jpg) ![](https://i.imgur.com/XhIrgt4.png) ДЗ 6 ![](https://i.imgur.com/IcYfqn5.png) ![](https://i.imgur.com/hftbNj3.png) ![](https://i.imgur.com/BCjNbEy.png) ![](https://i.imgur.com/aL1T9GV.png) ![](https://i.imgur.com/WvOoiig.png) ![](https://i.imgur.com/nXvfo5F.png) https://httpbin.org тренировка для веб и питон ДЗ 7 ![](https://i.imgur.com/K4b1GC3.png) ![](https://i.imgur.com/fC2A1b5.png)