Питонка
2 subscribers
71 photos
4 links
Download Telegram
Вчера был занят, сделал только одну задачу.

Еще попробовал описать, как я понял оператор Остаток от деления в Python: можно прочитать здесь.

Завтра, надеюсь, получиться сделать чуть больше, но от математики, конечно, голова кругом.
Итак, пройдены 2 раздела курса Поколение Python на Степике.

Первый — вводный и второй — "Ввод-вывод данных".

Изучены команды print и input, параметры sep и end, арифметические операторы сложение (+), вычитание (-), умножение (*), деление (/), а также операции возведения в степень (**), нахождения остатка (%) и целочисленное деление (//).

Определили, что в Python используется пока непривычный мне змеиный регистр.

Из важного: округление в Пайтон используется вниз (floor), то есть в меньшую сторону, или назад.

Прогресс по курсу: 179/2049.

Надеюсь, ничего не упустил. Дальше меня ждет экзамен, на него дается только одна попытка.
Было написано, что на экзамен выделяется 240 минут, было волнительно :).

По факту, прошел все минут за 30 со всеми отвлечениями на оформление и скриншоты в Visual Studio Code. Из того, о чем не упомянул в прошлом посте, встретился только вопрос про именование переменных:

1. Имя переменной может содержать только латинские буквы, числа и символ нижнего подчеркивания,
2. Имя переменной не должно начинаться с цифры,
3. Имя переменной не может совпадать с ключевым (зарезервированным) словом,
4. Имя переменной может начинаться с символа подчёркивания (_),
5. Регистр в имени переменной важен: Variable и variable — это разные переменные.

Задачи на программирование решились быстро, практически интуитивно.

Идем дальше!
4 задачи за вчера, скриншот во вложении.

В личку на Степике прилетело приглашение поучаствовать в курсе Инди-курс программирования на Python от известного блогера-программиста на Youtube Артема Егорова. Пожалуй, чуть позже начну его тоже проходить, чтобы освежать память о пройденном материале.

А на текущем курсе начался раздел Условный материал (операторы if ... else).
Очередные 6 задач выполнены.

Опять пришлось вспоминать математику, на этой раз арифметическую прогрессию.

Арифметическая прогрессия - это последовательность чисел, где каждое следующее число получается прибавлением одной и той же величины (шага) к предыдущему числу. Например, если начать с числа 7 и прибавить к нему каждый раз 3, то получим арифметическую прогрессию: 7, 10, 13, 16 и так далее. В такой прогрессии каждое число больше предыдущего на одно и то же значение.

Так же была задача написать программу, которая в результате выводит самое маленькое число из четырех внесенных пользователем чисел. Получилось аж на 27 строк (на скриншоте). У коллег получилось в два или три раза меньше, не считая тех, кто в одну строчку решает. Но на момент решения только так автоматом пришло в голову.
Новые задачи сделаны.

Пройдены логические операторы and, or и not. Сделал табличку для наглядности (прикрепил), тут главное — внимательность.

И куда же без математики? При решении одной из задач пришлось гуглить что такое невырожденный треугольник.

Невырожденный треугольник — это треугольник, у которого все стороны и углы не равны нулю. В невырожденном треугольнике каждая сторона имеет определенную длину, и каждый угол имеет определенную величину. Треугольник может быть большим или маленьким, толстым или тонким, но главное, что он невырожденный, то есть у него есть реальные стороны и углы, а не просто точка или линия.

Формула для невырожденного треугольника известна как неравенство треугольника.

Сумма длин любых двух сторон треугольника должна быть больше длины третьей стороны.

Если обозначить стороны треугольника как a, b и c, то неравенство можно записать следующим образом:

a + b > c
b + c > a
a + c > b

Вот их и подставляем в программу.
Сделал несколько задач, но застопорился на задаче с месяцами.

Вроде в теории должно все работать, но почему-то проверку не проходит. Перенес на завтра.
Пару задач с шахматами как-то интуитивно решились за 5 минут.

На выходные есть планы с семьей, много времени не получится выделить.
Иногда полезно делать перерыв.

Вроде простая задачка про месяцы, в теории все понимаю и делаю все правильно, но совершенно затуманило, что оператор or работает с равенствами, а не результатами, и надо писать так: month == 3 or month == 5, а не month == 3 or 5.

Сегодня пришлось помучаться с отрезками. Неидеальное, конечно, решение, но проверку прошло. Так как я пытаюсь решать, не смотря в комментарии, только потом увидел клевую картинку, которую можно было использовать для решения (прикрепляю). Перебираешь все возможные варианты: и вместо 27 строк, как у меня, получилось бы строк 17-19.

Впереди второй экзамен.
Понял, про какие именно задачки с шахматами в комментариях говорят :)

Когда на лекциях попались, быстро сделал, а вот на экзамене пришлось понервничать. Примерно полчаса оставалось, когда сделал последнюю задачу. Смотрел потом решения других ребят, все лаконично и просто, а у меня в полтора раза больше строк. Также узнал из комментариев, что существует функция abs() в Python. Я же модуль вручную считал, в общем, еще учиться и учиться.

После 2 экзамена: 440/2049 баллов получено, 22% материалов пройдено.
После шахмат прям все легко было, быстренько пробежался по задачкам.

Проблемка была только с задачей с вычленением дробной части. Вместо предполагаемого 0.45 выдавало 0.45000000000000284 и я полчаса искал, как это исправить. Обычно не смотрю в комментарии, но тут прям сдался: оказалось, у всех такая проблема, но результат Степик принимает.

Также было упомянута история со взрывом ракеты Ариан-5 из-за ошибки в коде (в комментах написали, что использовался язык программирования Ada). Стало интересно, какой язык программирования используют в российском космическом ракетостроении: оказалось, что программируют на ДРАКОНе (расшифровывается как дружелюбный русский алгоритмический язык, который обеспечивает наглядность). Надо будет узнать об этом подробнее.

А пока идем дальше.
В прошлых задачах приходилось модуль находить рассчетами, но теперь можно и через функцию abs(), ура! Также с функциями min() и max() стало проще находить минимумы и максимумы.

Также впервые столкнулся с зарезервированным словом, которое вызывало ошибку. Чтобы получить список таких слов, нужно сделать следующее:

1. Запустить в любом терминале Пайтон (я запускал прямо в терминале VSC), написав python и нажав клавишу Enter,
2. Дальше пишем help() и опять нажимаем Enter,
3. Печатаем keywords и получаем список зарезервированных слов для вашей версии Python

Скриншоты приложил.