# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
2 теста |
|||
На этом уроке мы установим среду разработки на языке программирования python3 и напишем первую программу Отчёт отправил: 13417. Chip Выполнено за 32 мин. [Показать отчёт] Научился: Давно хотел взяться за изучение Python, правда, у меня был другой план - сначала набраться опыта с bash, потом перейти на Perl и только потом на великий Python. Но тут случилось неожиданное :) Валерий Жданов выпустил новый курс, и я на протяжении нескольких последних дней наблюдаю как формулисты активно выполняют по нему уроки. Решил и я начать. Так что погружаюсь в Python, опыта в нём совсем нет, будет интересно :) |
|||||
2 |
![]() |
8 тестов |
|||
На этом уроке мы выполним простые математические операции на python3
Отчёт отправил: 13417. Chip Выполнено за 14 мин. [Показать отчёт] Научился: Узнал про оператор возведения в степень ** и оператор целочисленного деления //. Научился создавать переменные в Python и выводить их значение с помощью print. |
|||||
3 |
![]() |
3 теста |
|||
На этом уроке мы начнем создавать программный код на python3 в файле и научим программу находить у числа количество сотен, десятков и единиц Отчёт отправил: 13417. Chip Выполнено за 20 мин. [Показать отчёт] Научился: Научился создавать файл в IDLE и запускать его на исполнение. Узнал, что print сам добавляет пробелы между аргументами. |
|||||
4 |
![]() |
5 тестов |
|||
На этом уроке мы научимся создавать функции на python3 и реализуем получение результата для любого трехзначного числа Отчёт отправил: 13417. Chip Выполнено за 23 мин. [Показать отчёт] Научился: Научился вводить данные с помощью input. Если я правильно понял, input возвращает результат в виде строки, а мы далее конвертируем её в число. Научился конвертировать число в строку и конкатенировать строки. Узнал как создавать функции в Python, передавать аргументы, возвращать результат. |
|||||
5 |
![]() |
4 теста |
|||
На этом уроке мы научимся обрабатывать исключительные ситуации, которые могут привести к сбоям в работе программы
Отчёт отправил: 13417. Chip Выполнено за 2 час. 42 мин. [Показать отчёт] Научился: Научился ловить исключительные ситуации в Python3. Узнал про типы исключений ValueError, ZeroDivisionError, Exception. Набрал программу по видеоуроку, проверил на различных входных данных. Для проверки на Exception передал в качестве ввода Ctrl+D, чтобы обозначить конец ввода и, ура, Python отловил эту ошибку. Написал аналогичную программу на языке Си. Хотя в этом языке нет поддержки исключений, я помню как в одной из своих книжек автор C++ рассказывал, что механизм исключений можно реализовать через раскрутку стека с помощью парочки сишных функций setjmp/longjmp. Ну что ж, попробовал реализовать по этой схеме - получилось :) Получившаяся программа вполне схожа с программой на Python3. |
|||||
6 |
![]() |
4 теста |
|||
На этом уроке мы применим навыки обработки исключений для корректной работы основной программы
Отчёт отправил: 13417. Chip Выполнено за 1 час. 14 мин. [Показать отчёт] Научился: В этом уроке повторение материала прошлого урока. Попрактиковался в обработке исключений, запустил программу с различными данными - строка HELLO, пустая строка, конец ввода и число 123. Реализовал схожую программу на языке Си на базе программы из прошлого урока. |
|||||
7 |
![]() |
4 теста |
|||
На этом уроке мы разберем проверку вводимых данных на соответствие условиям, не приводящим к проблемным ситуациям
Отчёт отправил: 13417. Chip Выполнено за 1 час. 2 мин. [Показать отчёт] Научился: Научился использовать if-elif-else в python3. Узнал, что в python3 вместо привычного || используется or. Попробовал || - syntax error. По аналогии решил проверить можно ли использовать eq вместо == ? Нет, syntax error. Не угадал, со временем привыкну к синтаксису :) |
|||||
8 |
![]() |
6 тестов |
|||
На этом уроке мы с вами рассмотрим, как создаются переменные типа "список" и что можно сделать с их элементами
Отчёт отправил: 13417. Chip Выполнено за 4 час. 22 мин. [Показать отчёт] Научился: В этом уроке я научился создавать пустой список, добавлять и удалять из него элементы, очищать весь список. Добавлять один список в конец другого. Определять количество указанных элементов в списке. Написал аналогичную программу на языке Си. В Си нет списков, поэтому реализовал Python3-списки через односвязный список, реализовал все функции из видеоурока. Если я правильно понимаю, в Python3 динамическая типизация, поэтому можно свободно добавлять в списки элементы любых типов. В случае Си меньше вольностей, нужно явно указывать тип, поэтому потребовалось создать свой универсальный тип object_t на базе union, который может быть целым числом, вещественным, символом или указателем на строку. В общем, опять много пишу, сравнивая два кода могу сказать, что Python3 удобнее и лаконичнее :) |
|||||
9 |
![]() |
5 тестов |
|||
На этом уроке мы отредактируем код и выведем результаты работы функции, а также сообщения о проблемах в списки Отчёт отправил: 13417. Chip Выполнено за 1 час. 21 мин. [Показать отчёт] Научился: Научился создавать новый список и добавлять в него элементы. Узнал про комментарии в Python3. Раньше наша программа выводила текстовую информацию, а сейчас везде, даже в случае ошибки, выводится информация в виде списков; интересно :) |
|||||
10 |
![]() |
5 тестов |
|||
На этом уроке мы заключим основной код программы в бесконечный цикл и реализуем всё так, чтобы программа постоянно не отключалась Отчёт отправил: 13417. Chip Выполнено за 1 час. 1 мин. [Показать отчёт] Научился: Интересно получается, благодаря дополнениям формулистки Trira в курс налету были внесены изменения. Думаю приятно вписать себя в историю и чувствовать полезность своих наработок для других :) Кроме того, был продемонстрирован синтаксис и применение цикла while. Узнал что истина - True пишется с большой буквы. Научился перехватывать Ctrl+C и выходить из бесконечного цикла. |
|||||
11 |
![]() |
4 теста |
|||
На этом уроке мы рассмотрим тип данных словарь и научим нашу программу получать сотни прописью
Отчёт отправил: 13417. Chip Выполнено за 2 час. 14 мин. [Показать отчёт] Научился: Научился создавать словарь, заполнять его данными, выполнять поиск значения по его ключу. Узнал как обращаться к элементу списка по его индексу. |
|||||
12 |
![]() |
3 теста |
|||
На этом уроке мы реализуем вывод всего числа и его частей прописью
Отчёт отправил: 13417. Chip Выполнено за 1 час. 16 мин. [Показать отчёт] Научился: В этом уроке повторил как создавать и заполнять данными словарь, попрактиковался в передаче списков между функциями. Научил программу говорить словами :) |
|||||
13 |
![]() |
4 теста |
|||
На этом уроке мы рассмотрим список констант или кортеж, а также заполним информацию о программе, действующем релизе и авторе
Отчёт отправил: 13417. Chip Выполнено за 1 час. 2 мин. [Показать отчёт] Научился: Познакомился с кортежем в Python3. Добавил в программу кортеж about, в котором содержится информация о программе, вывел её в начале работы программы. |
|||||
14 |
![]() |
4 теста |
|||
На этом уроке мы создадим новую программу на основе старой и рассмотрим, как работает цикл for Отчёт отправил: 13417. Chip Выполнено за 37 мин. [Показать отчёт] Научился: Научился создавать цикл for, указывать диапазон значений и шаг. Внешне чем-то похоже на цикл for в Pascal, хотя, если не ошибаюсь, там шаг всегда был равен 1 или -1. Набрал несколько циклов в shell. Сохранил файл math.py как новый файл num_str.py и изменил функцию check как было указано на видео. На видео на отметке 8:35 Валерий сказал, что можно не добавлять дополнительный уровень табуляции для тела цикла for. Мне это сразу показалось странным. Везде требуется: в функциях, в if, в while, а тут нет. Не логично :) Попробовал запустить код по видео, мне отвечает ошибкой Syntax error: expected an indented block. Добавил табуляцию - заработало. Значит всё-таки нужна табуляция :) Что интересно, если просто набрать заголовок цикла, потом указать двоеточие и нажать Enter, то IDLE сама добавляет уровень табуляции. |
|||||
15 |
![]() |
6 тестов |
|||
На этом уроке мы доделаем функцию check(), чтобы она превращала любое число в список значений каждого его элемента прописью Отчёт отправил: 13417. Chip Выполнено за 1 час. 18 мин. [Показать отчёт] Научился: Повторил работу со списками, циклом for, оператором возведения в степень ** и целочисленным делением //. Научился находить длину списка с помощью функции len. |
|||||
16 |
![]() |
3 теста |
|||
На этом уроке мы выведем список цифр числа прописью в строку
Отчёт отправил: 13417. Chip Выполнено за 1 час. 9 мин. [Показать отчёт] Научился: В этом уроке я научился использовать оператор += для добавления в конец строки. Программа на Python разрослась, скоро не будет помещаться на экран :) |
|||||
17 |
![]() |
1 тест |
|||
На этом уроке мы научимся работать с переменными среды и добавлять необходимые пути в переменную Path Отчёт отправил: 13417. Chip Выполнено за 20 мин. [Показать отчёт] Научился: В моём случае (на ОС Linux) pip был установлен в стандартных путях, которые добавлены в переменную PATH, поэтому команда pip сразу запустилась. |
|||||
18 |
![]() |
2 теста |
|||
На этом уроке мы установим модуль pyinstaller и создадим автономные exe-файлы для каждой программы Отчёт отправил: 13417. Chip Выполнено за 2 час. 9 мин. [Показать отчёт] Научился: В моём случае потребовалось использовать команду pip3 install pyinstaller вместо просто pip. На моей системе ещё до первого урока по умолчанию была установлена версия python 2.7.5, видимо поэтому pip скачивал pyinstaller для этой версии. В принципе, исполняемые файлы создавались и для этого случая, для версии 2.7.5, но возникали ошибки при отображении русских букв после команды print для списков или кортежей. Поэтому скачал через pip3 и всё заработало. Создал два исполняемых файла math и num_str, проверил их работу без IDLE, напрямую запуская эти файлы. |
|||||
19 |
![]() |
без видео |
|||
Сделай видео-презентацию своей программы. На видео необходимо ответить на следующие вопросы: 0. Показать, что у тебя получилось. 1. Чему ты научился на этом курсе? 2. Что тебе понравилось, что нет? 3. Что ты ещё добавишь в свой проект? 4. Какой следующий курс ты будешь проходить? Отчёт отправил: 13417. Chip Выполнено за 1 час. 56 мин. [Показать отчёт] Научился: В этом курсе я познакомился с языком программирования Python3, написал две программы, создал исполняемые файлы с помощью pyinstaller. Курс небольшой, его вполне можно пройти за пару дней на одном дыхании, взглянуть на немного другой стиль программирования. Рекомендую всем формулистам для прохождения. Следующим курсом будет Python OOP и параллельно курсы по Java. Видеообзор: 1Ja4GlxubKs |
|||||
20 |
![]() |
|
|||
Дается старт самостоятельной работе над программой num_str согласно заданию Отчёт отправил: 13417. Chip Выполнено за 2 час. 25 мин. [Показать отчёт] Научился: Добавил в программу вывод полных слов вместо тыс, млн, млрд. Исправил ошибку при выводе прописью цифр 1, 2. Например, раньше было "один тыс", сейчас "одна тыс". Дополнительно убрал лишние пробелы в выводе строки. Остался открытым вопрос с универсальным выводом чисел вне указанного диапазона. Можно расширить список, добавить новые названия, но это проблему не решит, а лишь отодвинет максимальную планку. Хотя для большинства задач думаю можно найти эту приемлимую максимальную планку и ориентироваться на неё :) |
|||||
Итого: 20 видеоуроков |
3 час. 21 мин. 73 теста |
5 чел. | |||
Финалисты: Chip, vip, Степан, 1, Tom . |