====== Программирование на языке Python3 ====== ==== Рекомендуемые редакторы программного кода ==== * [[https://www.olympiads.ru/moscow/2018-19/soft.shtml]] - Список рекомендуемого программного обеспечения для проведения олимпиад по информатике * [[http://www.wingware.com/downloads/wing-101]] Wing 101 - Version 6.1.2 - Released 2018-11-08 ==== Мои рекомендации по выбору сред разработки для начинающих ==== * [[https://thonny.org/]] Thonny. Python IDE for beginners * [[https://codewith.mu/en/]] Code with Mu: a simple Python editor for beginner programmers. * [[https://codewith.mu/en/download]] - страница загрузки ==== Справочники, учебные пособия ==== * [[https://www.w3resource.com/python/python-tutorial.php]] - краткое руководство на английском * http://aliev.me/runestone/ - Учебник с базовыми алгоритмами: Problem Solving with Algorithms and Data Structures using Python By Brad Miller and David Ranum (перевод). * https://runestone.academy/runestone/static/pythonds/index.html Problem Solving with Algorithms and Data Structures using Python By Brad Miller and David Ranum (английский). * https://github.com/ErikRHanson/Problem-Solving-with-Algorithms-and-Data-Structures-Using-Python * [[https://foxford.ru/wiki/informatika/o-yazyke-python]] - О языке Python на сайте foxford.ru * [[https://foxford.ru/wiki/informatika/spiski-v-python]] - списки на сайте foxford.ru * [[https://foxford.ru/wiki/informatika/zadachi-na-kortezhi-i-mnozhestva-v-python-ege-27]] - разбор 27 задачи на сайте foxford.ru **Справочник 1** * [[https://pythonz.net/references/named/str.rsplit/]] - справочник по языку Python \\ * [[http://pythonz.net/references/named/mini-yazyk-formatirovaniya/]] - Правила форматирования **Справочник 2** * [[http://www.tutorialspoint.com/python3/list_count.htm]] **Модуль random** * [[https://pythonworld.ru/moduli/modul-random.html]] **Питошка** * [[http://pythoshka.ru/]] **Python: коллекции** \\ * https://habrahabr.ru/post/319164/ - коллекции, часть 1/4: классификация, общие подходы и методы, конвертация * https://habrahabr.ru/post/319200/ - коллекции, часть 2/4: индексирование, срезы, сортировка * https://habrahabr.ru/post/319876/ - коллекции, часть 3/4: объединение коллекций, добавление и удаление элементов * https://habrahabr.ru/post/320288/ - коллекции, часть 4/4: Все о выражениях-генераторах, генераторах списков, множеств и словарей * * http://kpolyakov.spb.ru/school/probook/python.htm - На этой странице размещены материалы для изучения программирования на языке Python на основе учебника «Информатика. Углублённый уровень» для 10-11 классов К.Ю. Полякова и Е.А. Еремина. * https://youtu.be/TW_e9FFEDeY - Лекции по структурам данных (видео на английском) Для работы в "облаке" (среда программирования в браузере, данные и программный код хранится на внешнем сервере) используем [[https://repl.it]] - **REPL.IT** Участникам олимпиады следует установить - [[http://www.wingware.com/downloads/wingide-101]] ''' Блочный комментарий. Операторы ввода и вывода. ''' # Строчный комментарий a = input() # оператор ввода данных print(type(a)) # даже если вводится число, тип введенного значения string b = input() print(a+b) # Вывод результата вычислений. # Получаем конкатенацию (слияние) строк (текста на который ссылаются переменные a и b) a = int(a) # преобразование к целому типу (для введенного целого числа) b = int(b) print(a + b) # получаем сумму целых чисел, на которые ссылаются переменные a и b # если считываем два, разделенных пробелом, числа, можно использовать код a, b = map(int, input().split()) # считывание и сортировка входных чисел, разделенных пробелом print(*sorted(map(int, input().split()))) === Разложение числа на простые множители === n = int(input()) i=2 while i*i<=n: while n%i==0: print(i) n//=i i+=1 if n>1: print(n) ==== Game of Life with Python ==== * [[https://glowingpython.blogspot.ru/2015/10/game-of-life-with-python.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+TheGlowingPython+(The+Glowing+Python)]] ==== Bottle: Python Web Framework ==== [[http://bottlepy.org/docs/dev/]] ==== Избранные задачи для отработки базовых навыков ==== http://pythontutor.ru/ интерактивный учебник === Операции с целыми числами === **Теория. ** * [[https://server.179.ru/~yurkov/0910/7b/matprak/29remainders.pdf]] - теорема о делении с остатком * {{::29remainders.pdf| теорема о делении с остатком}} * [[http://natalibrilenova.ru/blog/1487-teorema-o-delenii-s-ostatkom.html]] - - теорема о делении с остатком **Практика** * [[http://pythontutor.ru/lessons/inout_and_arithmetic_operations/problems/apples/]] - Задача «Дележ яблок» * [[http://pythontutor.ru/lessons/inout_and_arithmetic_operations/problems/electronic_watch/]] - Задача «Электронные часы» * [[http://pythontutor.ru/lessons/inout_and_arithmetic_operations/problems/desks/]] - Задача «Парты» === Вычисления === * [[http://pythontutor.ru/lessons/int_and_float/problems/watch_1/]] Задача «Часы - 1» === Условные операторы === **Теория. ** * [[http://pythontutor.ru/lessons/ifelse/]] **Практика** * [[http://pythontutor.ru/lessons/ifelse/problems/chess_board/]] - Задача «Шахматная доска» * [[http://pythontutor.ru/lessons/ifelse/problems/minimum3/]] - Задача «Минимум из трех чисел» * [[http://pythontutor.ru/lessons/ifelse/problems/num_equal/]] - Задача «Сколько совпадает чисел» * [[http://pythontutor.ru/lessons/ifelse/problems/king_move/]] - Задача «Ход короля» * [[http://pythontutor.ru/lessons/ifelse/problems/chocolate/]] - Задача «Шоколадка» === Цикл for === **Теория. ** * [[http://pythontutor.ru/lessons/for_loop/]] Факториа́л натурального числа n (лат. factorialis — действующий, производящий, умножающий; обозначается n!, произносится эн факториа́л) — произведение всех натуральных чисел от 1 до n включительно: n! = 1*2*3*...*n Например:\\ 5! = 1*2*3*4*5 = 120 **Практика** * [[http://pythontutor.ru/lessons/for_loop/problems/series_2/]] - Задача «Ряд - 2» * [[http://pythontutor.ru/lessons/for_loop/problems/factorial/]] - Задача «Факториал» * [[http://pythontutor.ru/lessons/for_loop/problems/sum_of_factorials/]] - Задача «Сумма факториалов» * [[http://pythontutor.ru/lessons/for_loop/problems/lost_card/]] - Задача «Потерянная карточка» === Цикл while === **Теория. ** * [[http://pythontutor.ru/lessons/while/]] **Практика** * [[http://pythontutor.ru/lessons/while/problems/minimal_divisor/]] - Задача «Минимальный делитель» * [[http://pythontutor.ru/lessons/while/problems/powers_of_two/]] - Задача «Степень двойки» * [[http://pythontutor.ru/lessons/while/problems/running/]] - Задача «Утренняя пробежка» * [[http://pythontutor.ru/lessons/while/problems/seq_second_max/]] - Задача «Второй максимум» * [[http://pythontutor.ru/lessons/while/problems/kth_fibonacci/]] - Задача «Числа Фибоначчи» * [[http://pythontutor.ru/lessons/while/problems/is_fibonacci/]] - Задача «Номер числа Фибоначчи» === Списки === **Теория.** [[http://pythontutor.ru/lessons/lists/#section_1]] **Практика** * [[http://pythontutor.ru/lessons/lists/problems/even_indices/]] Задача «Четные индексы» * [[http://pythontutor.ru/lessons/lists/problems/even_elements/]] Задача «Четные элементы» * [[http://pythontutor.ru/lessons/lists/problems/increasing_neighbours/]] Задача «Больше предыдущего» * [[http://pythontutor.ru/lessons/lists/problems/more_than_neighbours/]] Задача «Больше своих соседей» * [[http://pythontutor.ru/lessons/lists/problems/maximal_element/]] Задача «Наибольший элемент» **Усложненные варианты** * [[http://pythontutor.ru/lessons/lists/problems/unique_elements/]] - Задача «Уникальные элементы» * [[http://pythontutor.ru/lessons/lists/problems/lists_queens/]]- Задача «Ферзи» === Функции и рекурсия === * [[http://pythontutor.ru/lessons/functions/]] - Теория + задачи (все) === Словари === {{:dict_.png?200|Перебор элементов словаря}} http://pythontutor.ru/lessons/dicts/ - Теория + задачи === Динамическое программирование === * [[http://informatics.mccme.ru/mod/book/view.php?id=266]] ==== Подготовка к ЕГЭ по программированию ==== * https://foxford.ru/wiki/informatika/zadachi-na-kortezhi-i-mnozhestva-v-python-ege-27 Задачи на кортежи и множества в Python (ЕГЭ-27) * http://kpolyakov.spb.ru/school/ege.htm (внизу страницы 27 задача с решениями на языке Python) ==== Прикладное программирование на языке Python ==== * [[https://habrahabr.ru/company/pechkin/blog/281915/]] - Как отправить электронное письмо с помощью Python: руководство для «чайников» * http://python-3.ru/page/imap-email-python - Читаем почту через IMAP в Python * https://python-scripts.com/send-email-smtp-python - Работа с почтой — модули email / smtplib в Python **На английском** * http://stackabuse.com/how-to-send-emails-with-gmail-using-python/ * https://www.nixtutor.com/linux/send-mail-through-gmail-with-python/ * https://medium.com/@williamr/how-to-send-an-email-from-a-gmail-account-with-python-b5b6e44c27b6 * https://stackoverflow.com/questions/10147455/how-to-send-an-email-with-gmail-as-provider-using-python ==== Pixel graphics in terminal with unicode braille characters ==== * [[https://github.com/asciimoo/drawille]] ==== Язык программирования Python ==== //Учебныйhttp://www.intepra.ru/wiki/lib/images/toolbar/hequal.png курс. Денис Павлович Кириенко// * [[https://informatics.mccme.ru/course/view.php?id=156]] ==== ЕГЭ - 27 задача ==== * http://ege.programming1189.ru/index.html * [[http://ege.programming1189.ru/task27next2.html]] * [[http://ege.programming1189.ru/task27.html]] * [[http://informatics.msk.ru/mod/statements/view3.php?id=15505&chapterid=112426]] ==== Ссылки на учебные ресурсы: ==== * [[http://www.intepra.ru/wiki/doku.php?id=start#учебные_ресурсы_по_языку_python]] - Учебные ресурсы по языку Python * [[http://pythontutor.ru/]] - интерактивный учебник * [[https://snakify.org/]] - интерактивный учебник на английском * [[https://stepik.org/lesson/24458/step/1?unit=6765]] - **1.2 Модель данных: объекты.** Объектная модель структуры программного кода в среде программирования Python. Принципы динамической типизации. * [[https://stepik.org/course/67/syllabus]] Python для начинающих * [[https://stepik.org/course/431/]] Адаптивный тренажер Python!!! (При прохождении курса включается специальный адаптивный режим, который подбирает контент индивидуально для каждого студента, учитывая его уровень и пробелы в знаниях.) * [[http://www.bogotobogo.com/python/pytut.php]] - Python tutorial!!! * [[http://www.bogotobogo.com/python/OpenCV_Python/python_opencv3.php]] OPENCV 3 WITH PYTHON!!! * [[http://nbviewer.jupyter.org/github/probabilitydiht/python/blob/master/python_help.ipynb]] ФИВТ МФТИ Курс математической статистики. Никита Волков (email, VK). Справочник по Python ===== Прикладное программирование на языке Python (Web технологии) ===== * [[http://python-3.ru/page/modul-stringio-python]] Модуль StringIO в Python * https://compscicenter.ru/media/slides/python_2014_autumn/2014_10_08_python_2014_autumn.pdf - !!! **Строки, байты...** * http://python.su/forum/topic/8635/?page=1#post-56706 - форум ===== slack + vk + python ===== * [[http://python-3.ru/page/kak-podruzhit-slack-i-vk-s-pomoshhju-python]] ===== Последовательный порт + python ===== * [[https://zhevak.wordpress.com/2014/02/11/%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9-%D0%BF%D0%BE%D1%80%D1%82-%D0%B4%D0%B0-%D0%BF%D0%BE%D0%BC%D0%BE%D0%B6%D0%B5%D1%82-%D0%BD%D0%B0%D0%BC-p/ | Последовательный порт.]] * [[https://zhevak.wordpress.com/2017/12/21/python3-%D0%B1%D0%B0%D0%B9%D1%82%D0%BE%D0%B2%D1%8B%D0%B5-%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8/ | Байтовые последовательности.]] * https://playground.arduino.cc/Interfacing/Python * http://www.instructables.com/id/Raspberry-Pi-Arduino-Serial-Communication/ * https://diyprojects.io/python-code-read-serial-port-raspberry-pi/#.WkESTVVl-Uk * http://digitrode.ru/computing-devices/mcu_cpu/262-soedinyaem-raspberry-pi-s-arduino-cherez-serial-gpio.html * https://blogs.msdn.microsoft.com/sos/2015/07/01/arduino-raspberry-pi/ * ===== python-telegram-bot ===== === Наиболее эффективные ресурсы по данной теме === * https://circuitdigest.com/microcontroller-projects/raspberry-pi-telegram-bot * https://circuitdigest.com/microcontroller-projects/control-raspberry-pi-gpio-with-telegram * https://ph0en1x.net/86-raspberry-pi-znakomstvo-s-gpio-perekluchatel-i-svetodiod.html - кнопка * https://webhamster.ru/mytetrashare/index/mtb0/13778868522frfe4y3tg GPIO - для чайников * http://home-smart-home.ru/telegram-bot-raspberry-pi-signalizaciiya-control/ - Telegram bot на Raspberry pi: сигнализация, контроль и управление!!! * https://kostya.co/create-first-telegram-bot/ - Создаём своего первого робота в Telegram при помощи Python 3 ??? * https://groosha.gitbooks.io/telegram-bot-lessons/content/pytelegrambotapi_basics.html - Декораторы * https://github.com/eternnoir/pyTelegramBotAPI/blob/master/README.md  - **pyTelegramBotAPI!!!** * http://raspberrypi.ru/blog/613.html - Система верификации пользователей посредством RFID карт с отправкой сообщений в Telegram *  https://groosha.gitbooks.io/telegram-bot-lessons/chapter1.html Пишем бота для Telegram на языке Python * https://www.gitbook.com/book/groosha/telegram-bot-lessons/details Пишем бота для Telegram на языке Python * https://geektimes.ru/post/289309/ - Управляем домом через Telegram * https://geektimes.ru/post/284258/ - Умная теплица в Telegram * [[http://rus-linux.net/MyLDP/soft/home_automation_raspberry_pi.html]] - Система управления умным домом на основе Raspberry Pi === Алтернативное решение === * [[http://python-3.ru/page/send-sms-python]] - Отправка SMS через Python [в одну функцию] === Дополнительные ресурсы по данной теме === * [[https://kostya.co/create-first-telegram-bot/]] - Создаём своего первого робота в Telegram при помощи Python 3 !!! (хорошо написано) * [[http://kip-world.ru/sozdat-telegram-bota-na-yazyke-python-realno-ot-prostogo-k-slozhnomu.html]] - Создать Telegram бота на языке Python реально — от простого к сложному !!! (хорошо написано) * [[http://rtportal.ru/index.php?id=148:telegram-python]]!!! (хорошо написано) * https://geektimes.ru/post/289309/ - Управляем домом через Telegram * https://create.arduino.cc/projecthub/JohnWick/telegram-bot-with-esp8266-dbada8 * http://forum.amperka.ru/threads/arduino-esp8266-raspberry-pi-2-openhab-%D0%A3%D0%BC%D0%BD%D1%8B%D0%B9-%D0%B4%D0%BE%D0%BC-%D0%B0%D0%B7%D1%8B-%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F.5043/page-28 * http://www.marcsblog.de/2016/01/openhab-informiert-nun-per-telegram-messenger/ * https://vk.com/page-64980878_51001401 - Персональный ассистент с Telegram и Arduino!!! * [[https://github.com/assertm/Rpi_verificator]] * https://tlgrm.ru/docs/bots * https://tlgrm.ru/docs/bots/api * https://tlgrm.ru/docs/bots/samples#python * https://pypi.python.org/pypi/python-telegram-bot * https://github.com/python-telegram-bot/python-telegram-bot/wiki/Introduction-to-the-API !!! * https://github.com/python-telegram-bot/python-telegram-bot/wiki/Code-snippets !!! * https://stackoverflow.com/questions/31860628/how-to-send-an-image-from-a-telegram-bot * https://habrahabr.ru/post/322050/ - Телеграм бот на Python с использованием только requests * https://good-developers.com/prostoj-telegram-bot/ - Пишем Бот для телеграма на Python * https://ruclip.com/video/3xKwbY6YB_0/telegram-bot-python-script.html ??? * https://jeckill.ru/pishem-bota-dlya-telegram-prinimaem-fajly/ Пишем бота для Telegram — принимаем файлы * https://khashtamov.com/ru/create-telegram-bot-in-python/ * https://tyvik.ru/blog/242 ..... flask. * https://toster.ru/q/420436 ..... flask. * https://www.gitbook.com/book/groosha/telegram-bot-lessons/detailsПишем ботов для Telegram на языке Python (книга) !!! * http://novikovmaxim.livejournal.com/421130.html - Делаем простейшего бота для мессенджера Telegram * DV (domain validation) SSL https://www.firstssl.ru/ssl/dv * https://www.globessl.ru/domain-validation-ssl-certificate/ * https://1cloud.ru/blog/sozdat-ili-kupit-ssl * https://1cloud.ru/services/ssl * https://habrahabr.ru/post/195808/ Настраиваем HTTPS-сервер на nginx * https://habrahabr.ru/post/252555/ - Arduino & OpenHAB * * https://habrahabr.ru/post/282429/ * https://simplecloud.ru/ === Экспертные системамы === http://in.1543.ru/doc/logo/soprunov-2009.pdf 110 http://forundex.ru/yap/Sozdatj-igru-Otgadaj-zhivotnoe-762758 164 http://www.stepanoff.info/lisp/materials/prolog.pdf https://owlweb.ru/wp-content/uploads/2017/04/u.-send-k.-send-hello-world-zanimatelnoe-programmirovanie-dlya-detej-i-nachinayushhix.pdf https://www.manning.com/books/hello-world-second-edition * https://www.datacamp.com/courses/building-chatbots-in-python   Request ... [[https://api.telegram.org/bot<ваш_токен>/getUpdates]] [[https://api.telegram.org/bot123456789:FFEt9K9kreapBJk5pFnjHvEyQpwa1enRKp4/getUpdates ]] [[https://api.telegram.org/bot123456789:FFEt9K9kreapBJk5pFnjHvEyQpwa1enRKp4/sendMessage?chat_id=354053095&text=Hello!]] https://youtu.be/MFXINARkpxw Оформление бота [[https://github.com/eternnoir/pyTelegramBotAPI/blob/master/README.md]] - pyTelegramBotAPI === Codeskulptor === * http://www.codeskulptor.org/ * https://github.com/sreesindhusruthiyadavalli/Python-Code-skulptor * https://github.com/gnpatterson/codeskulptor * https://github.com/TogusaRusso/codesculptorlabs === Codeskulptor3 for Python3 === * http://py3.codeskulptor.org/ * === Игры на Python === [[https://python-scripts.com/create-game-pyqt5-sapper]] - Сапёр ==== Учебные ресурсы по языку Python ==== * [[http://dfedorov.spb.ru/python3/book.pdf]] - Д. Ю. Федоров. ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ПРИМЕРЕ ЯЗЫКА PYTHON * [[http://aliev.me/runestone/]] - Книга: 9. Problem Solving with Algorithms and Data Structures using Python By Brad Miller and David Ranum (перевод). \\ * [[https://github.com/jakevdp/WhirlwindTourOfPython]] - Введение в Python * [[https://jakevdp.github.io/PythonDataScienceHandbook/]] - Python Data Science Handbook * [[https://github.com/demidovakatya/vvedenie-mashinnoe-obuchenie]] - Постоянно обновляемая подборка ресурсов по машинному обучению. * https://habrahabr.ru/company/wunderfund/blog/316826/ - Особенности Jupyter Notebook... * [[http://pythontutor.com/]] - Визуализатор кода * [[http://pythontutor.ru/]] - интерактивный учебник по языку Pyhton \\ * [[https://pythonz.net/references/named/str.rsplit/]] - справочник по языку Python \\ * [[http://pythonz.net/references/named/mini-yazyk-formatirovaniya/]] - Правила форматирования * [[http://www.toves.org/books/cpy/]] - C for Python programmers \\ * * https://www.hackerrank.com/dashboard - **задачи на программирование** * * [[http://sis.khashaev.ru/2013/august/c-prime/]] - летняя компьютерная школа * * [[https://yadi.sk/i/R5SdeB2x3DLQCn]] - ** Избранные ссылки ** * * [[https://proglib.io/p/algorithms-structures-learn/]] - Изучаем алгоритмы и структуры данных правильно * * [[https://proglib.io/p/awesome-algorithms/]] - Изучаем алгоритмы: полезные книги, веб-сайты, онлайн-курсы и видеоматериалы * * [[https://github.com/bayandin/awesome-awesomeness]] - Awesome Awesomeness * * [[https://github.com/bayandin/awesome-awesomeness]] - A curated list of awesome Python frameworks, libraries, software and resources * [[https://awesome-python.com/]] - A curated list of awesome Python frameworks, libraries, software and resources. * * [[https://github.com/kirang89/pycrumbs]] - Bits and bytes of Python from the Internet * * [[https://github.com/svaksha/pythonidae]] - Curated decibans of scientific programming resources in Python. * [[http://svaksha.github.io/pythonidae/]] - Pythonidae curates decibans of Python libraries and resources for scientific programming and mathematical and statistical computing. Some resources listed here may also use other languages like Go, Java, Julia, R-language, etc.. in their codebase. **!!!** [[about_Python|Язык программирования Python]]; - Дополнительные ресурсы, связанные с изучением языка программирования Python, об инструментарии, учебных пособиях, тренажерах (об исполнителе "Черепашка", исполняющем команды, написанные на языке Python)... [[about_Python|ПОДРОБНЕЕ >>>]]