C# форум

Формула программиста

основатель — Волосатов Евгений Витольдович

Клуб формулистов - Ежемесячная подписка

Вступление в Клуб Формулистов на выгодных условиях для НОВЫХ участников.

После взноса  999  499 руб. вы получите подписку
в Клуб Формулистов на 30 дней и 256 байт для быстрого старта.
Байты используются для открытия более одного урока в день, по 50 байт за урок.

Стоимость 1 дня за первый месяц: всего 16 рублей.

Первый взнос - 499 руб./30 дней.

Через 30 дней будет списано 3,000 2,400 руб.
за продление подписки в Клуб на 30 дней + подарок 512 байт.

Так будет продолжаться каждые 30 дней, пока вы не отмените подписку.
Средства будет автоматически считываться с вашей карты.
Вы в любой момент сможете отказаться от продления Клуба.

Только ДО КОНЦА НЕДЕЛИ -
-50% скидка на первый взнос, всего 499 (вместо 999) рублей!
-20% скидка на ЕЖЕМЕСЯЧНЫЙ платёж!
Всего 2400 руб/месяц (вместо 3000 руб/месяц), или 80 руб./день - цена чашки кофе.


Стоимость 1 дня: 80 руб.

Хочу вступить!

Также есть другие варианты оплаты участия в КФ:

Билет в клуб формулистов на ...
30+ дней | 60 дней | 150 дней | 380 дней | 1000 дней

Внимание!
Стоимость участия в Клубе формулистов увеличивается 1 числа каждого месяца на 100 рублей.
При оформления подписки стоимость остаётся постоянной, пока подписка не будет отменена.







Первый взнос - 499 руб./30 дней + 500 байт.
Последующие взносы - 3,000 2400 руб./месяц + 512 байт.



Список уроков | фото | видео

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE Погружение в python3 00:08:06
2 теста
30 чел. ★ 4.9 Done
  На этом уроке мы установим среду разработки на языке программирования python3 и напишем первую программу


Отчёт отправил: 13417. Chip Выполнено за 32 мин. [Показать отчёт]
Научился: Давно хотел взяться за изучение Python, правда, у меня был другой план - сначала набраться опыта с bash, потом перейти на Perl и только потом на великий Python. Но тут случилось неожиданное :) Валерий Жданов выпустил новый курс, и я на протяжении нескольких последних дней наблюдаю как формулисты активно выполняют по нему уроки. Решил и я начать. Так что погружаюсь в Python, опыта в нём совсем нет, будет интересно :) 
2 FREE Математические операции в python3 00:06:59
8 тестов
26 чел. ★ 4.8 Done
  На этом уроке мы выполним простые математические операции на python3
Отчёт отправил: 13417. Chip Выполнено за 14 мин. [Показать отчёт]
Научился: Узнал про оператор возведения в степень ** и оператор целочисленного деления //. Научился создавать переменные в Python и выводить их значение с помощью print. 
3 FREE Число - на составные части 00:13:08
3 теста
27 чел. ★ 4.9 Done
  На этом уроке мы начнем создавать программный код на python3 в файле
и научим программу находить у числа количество сотен, десятков и единиц
Отчёт отправил: 13417. Chip Выполнено за 20 мин. [Показать отчёт]
Научился: Научился создавать файл в IDLE и запускать его на исполнение. Узнал, что print сам добавляет пробелы между аргументами. 
4 FREE Рефакторинг - ввод и функция 00:11:34
5 тестов
26 чел. ★ 4.8 Done
  На этом уроке мы научимся создавать функции на python3 и реализуем
получение результата для любого трехзначного числа
Отчёт отправил: 13417. Chip Выполнено за 23 мин. [Показать отчёт]
Научился: Научился вводить данные с помощью input. Если я правильно понял, input возвращает результат в виде строки, а мы далее конвертируем её в число. Научился конвертировать число в строку и конкатенировать строки. Узнал как создавать функции в Python, передавать аргументы, возвращать результат. 
5 FREE Обработка исключений - немного теории 00:16:59
4 теста
25 чел. ★ 4.8 Done
  На этом уроке мы научимся обрабатывать исключительные ситуации, которые могут привести к сбоям в работе программы
Отчёт отправил: 13417. Chip Выполнено за 2 час. 42 мин. [Показать отчёт]
Научился: Научился ловить исключительные ситуации в Python3. Узнал про типы исключений ValueError, ZeroDivisionError, Exception. Набрал программу по видеоуроку, проверил на различных входных данных. Для проверки на Exception передал в качестве ввода Ctrl+D, чтобы обозначить конец ввода и, ура, Python отловил эту ошибку. Написал аналогичную программу на языке Си. Хотя в этом языке нет поддержки исключений, я помню как в одной из своих книжек автор C++ рассказывал, что механизм исключений  можно реализовать через раскрутку стека с помощью парочки сишных функций setjmp/longjmp. Ну что ж, попробовал реализовать по этой схеме - получилось :) Получившаяся программа вполне схожа с программой на Python3. 
6 FREE Обработка исключений в основной программе 00:07:57
4 теста
25 чел. ★ 4.8 Done
  На этом уроке мы применим навыки обработки исключений для корректной работы основной программы
Отчёт отправил: 13417. Chip Выполнено за 1 час. 14 мин. [Показать отчёт]
Научился: В этом уроке повторение материала прошлого урока. Попрактиковался в обработке исключений, запустил программу с различными данными - строка HELLO, пустая строка, конец ввода и число 123. Реализовал схожую программу на языке Си на базе программы из прошлого урока. 
7 FREE Проверка иных условий 00:11:43
4 теста
25 чел. ★ 4.8 Done
  На этом уроке мы разберем проверку вводимых данных на соответствие условиям, не приводящим к проблемным ситуациям
Отчёт отправил: 13417. Chip Выполнено за 1 час. 2 мин. [Показать отчёт]
Научился: Научился использовать if-elif-else в python3. Узнал, что в python3 вместо привычного || используется or. Попробовал || - syntax error. По аналогии решил проверить можно ли использовать eq вместо == ? Нет, syntax error. Не угадал, со временем привыкну к синтаксису :) 
8 FREE Списки - немного теории 00:10:55
6 тестов
23 чел. ★ 4.8 Done
  На этом уроке мы с вами рассмотрим, как создаются переменные типа "список" и что можно сделать с их элементами
Отчёт отправил: 13417. Chip Выполнено за 4 час. 22 мин. [Показать отчёт]
Научился: В этом уроке я научился создавать пустой список, добавлять и удалять из него элементы, очищать весь список. Добавлять один список в конец другого. Определять количество указанных элементов в списке. Написал аналогичную программу на языке Си. В Си нет списков, поэтому реализовал Python3-списки через односвязный список, реализовал все функции из видеоурока. Если я правильно понимаю, в Python3 динамическая типизация, поэтому можно свободно добавлять в списки элементы любых типов. В случае Си меньше вольностей, нужно явно указывать тип, поэтому потребовалось создать свой универсальный тип object_t на базе union, который может быть целым числом, вещественным, символом или указателем на строку. В общем, опять много пишу, сравнивая два кода могу сказать, что Python3 удобнее и лаконичнее :) 
9 FREE Списки - в программу! 00:08:47
5 тестов
23 чел. ★ 4.7 Done
  На этом уроке мы отредактируем код и выведем результаты работы функции,
а также сообщения о проблемах в списки
Отчёт отправил: 13417. Chip Выполнено за 1 час. 21 мин. [Показать отчёт]
Научился: Научился создавать новый список и добавлять в него элементы. Узнал про комментарии в Python3. Раньше наша программа выводила текстовую информацию, а сейчас везде, даже в случае ошибки, выводится информация в виде списков; интересно :) 
10 FREE Бесконечный while 00:07:11
5 тестов
23 чел. ★ 4.8 Done
  На этом уроке мы заключим основной код программы в бесконечный цикл и
реализуем всё так, чтобы программа постоянно не отключалась
Отчёт отправил: 13417. Chip Выполнено за 1 час. 1 мин. [Показать отчёт]
Научился: Интересно получается, благодаря дополнениям формулистки Trira в курс налету были внесены изменения. Думаю приятно вписать себя в историю и чувствовать полезность своих наработок для других :) Кроме того, был продемонстрирован синтаксис и применение цикла while. Узнал что истина - True пишется с большой буквы. Научился перехватывать Ctrl+C и выходить из бесконечного цикла. 
11 FREE Словарь сотен 00:12:55
4 теста
22 чел. ★ 4.8 Done
  На этом уроке мы рассмотрим тип данных словарь и научим нашу программу получать сотни прописью
Отчёт отправил: 13417. Chip Выполнено за 2 час. 14 мин. [Показать отчёт]
Научился: Научился создавать словарь, заполнять его данными, выполнять поиск значения по его ключу. Узнал как обращаться к элементу списка по его индексу. 
12 FREE Число прописью 00:19:43
3 теста
21 чел. ★ 4.8 Done
  На этом уроке мы реализуем вывод всего числа и его частей прописью
Отчёт отправил: 13417. Chip Выполнено за 1 час. 16 мин. [Показать отчёт]
Научился: В этом уроке повторил как создавать и заполнять данными словарь, попрактиковался в передаче списков между функциями. Научил программу говорить словами :) 
13 FREE Автора - в кортеж 00:09:05
4 теста
21 чел. ★ 4.8 Done
  На этом уроке мы рассмотрим список констант или кортеж, а также заполним информацию о программе, действующем релизе и авторе
Отчёт отправил: 13417. Chip Выполнено за 1 час. 2 мин. [Показать отчёт]
Научился: Познакомился с кортежем в Python3. Добавил в программу кортеж about, в котором содержится информация о программе, вывел её в начале работы программы. 
14 FREE Любое число прописью - новая программа и теория цикла for 00:11:58
4 теста
21 чел. ★ 4.7 Done
  На этом уроке мы создадим новую программу на основе старой
и рассмотрим, как работает цикл 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 FREE Любое число прописью - всё строится на цикле 00:12:26
6 тестов
19 чел. ★ 4.8 Done
  На этом уроке мы доделаем функцию check(), чтобы она превращала любое число
в список значений каждого его элемента прописью
Отчёт отправил: 13417. Chip Выполнено за 1 час. 18 мин. [Показать отчёт]
Научился: Повторил работу со списками, циклом for, оператором возведения в степень ** и целочисленным делением //. Научился находить длину списка с помощью функции len. 
16 FREE Любое число прописью - список в строку 00:09:05
3 теста
15 чел. ★ 4.7 Done
  На этом уроке мы выведем список цифр числа прописью в строку
Отчёт отправил: 13417. Chip Выполнено за 1 час. 9 мин. [Показать отчёт]
Научился: В этом уроке я научился использовать оператор += для добавления в конец строки. Программа на Python разрослась, скоро не будет помещаться на экран :) 
17 FREE Exe-файл - переменные среды 00:11:11
1 тест
15 чел. ★ 4.7 Done
  На этом уроке мы научимся работать с переменными среды
и добавлять необходимые пути в переменную Path
Отчёт отправил: 13417. Chip Выполнено за 20 мин. [Показать отчёт]
Научился: В моём случае (на ОС Linux) pip был установлен в стандартных путях, которые добавлены в переменную PATH, поэтому команда pip сразу запустилась. 
18 FREE Exe-файл - крутой pyinstaller 00:08:03
2 теста
14 чел. ★ 4.7 Done
  На этом уроке мы установим модуль 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 FREE ФИНАЛЬНЫЙ УРОК без видео
9 чел. ★ 4.6 Done
  Сделай видео-презентацию своей программы.
На видео необходимо ответить на следующие вопросы:
0. Показать, что у тебя получилось.
1. Чему ты научился на этом курсе?
2. Что тебе понравилось, что нет?
3. Что ты ещё добавишь в свой проект?
4. Какой следующий курс ты будешь проходить?
Отчёт отправил: 13417. Chip Выполнено за 1 час. 56 мин. [Показать отчёт]
Научился: В этом курсе я познакомился с языком программирования Python3, написал две программы, создал исполняемые файлы с помощью pyinstaller. Курс небольшой, его вполне можно пройти за пару дней на одном дыхании, взглянуть на немного другой стиль программирования. Рекомендую всем формулистам для прохождения. Следующим курсом будет Python OOP и параллельно курсы по Java. 
Видеообзор: 1Ja4GlxubKs
20 FREE VIP-урок - самостоятельная работа 00:03:18
5 чел. ★ 4.2 Done
  Дается старт самостоятельной работе над программой num_str согласно заданию

Отчёт отправил: 13417. Chip Выполнено за 2 час. 25 мин. [Показать отчёт]
Научился: Добавил в программу вывод полных слов вместо тыс, млн, млрд. Исправил ошибку при выводе прописью цифр 1, 2. Например, раньше было "один тыс", сейчас "одна тыс". Дополнительно убрал лишние пробелы в выводе строки. Остался открытым вопрос с универсальным выводом чисел вне указанного диапазона. Можно расширить список, добавить новые названия, но это проблему не решит, а лишь отодвинет максимальную планку. Хотя для большинства задач думаю можно найти эту приемлимую максимальную планку и ориентироваться на неё :)  
  Итого:   20 видеоуроков 3 час. 21 мин.
73 теста
5 чел. ★ 4.75  
  Финалисты:   Chip,   vip,   Степан,   1,   Tom .

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Отличное знакомство с Python! Сам бы я не решился подойти к этому вопросу. Спасибо Валерию! Понимаю теперь, что это не последнее свидание с Python. Все будет, но после выполненного плана по программированию.
Трудности: Были сложности... Но это личное =)



Научился: Ну наконец то записал видео, правда корявенькое получилось, ну если не понравится, буду переснимать На курсе мне понавилось все, хотелось бы больше, но главное наш учитель, Валерий Жданов, нам дал основы языка программирования python, и меня приятно удивило, что на питоне можно программировать практически все, ну кроме операционки)) Так что буду продолжать погружение
Трудности: снимок программы, про которую я говорил инфо на данный момент