От продавца до Big Data Scientist #2
Прошлый пост – От продавца до Big Data Scientist #1
Итак, я начал проходить базовый курс по Пайтону на сайте степик. Курс №67, вроде. Мне всё нравится =D Хочется стравнить его с практикумом, но наверное пока рановато. Я прошёл первую "неделю" за 4 дня. А всё потому, что достаточно много из пройденного было уже изучено в практикуме. Но! Были и новые для меня штуки. Например input(). Наконец-то меня научили как вводить собственные данные, а не только работать уже с исходными. Я написал свою первую программку, которая решает квадратные уравнения. Принимает на вход 3 аргумента и выдаёт два корня квадратного уравнения, или один =) Зачем мне это нужно было? Потому что, лет 20 назад мой старший брат написал похожую программку на бейсике и я был просто восхищён :) Теперь пришло время и мне написать похожую:
a = float(input('введите первый аргумент'))
b = float(input('введите второй аргумент'))
c = float(input('введите третий аргумент'))
d = b**2 - (4 * a * c)
x1 = (-b + d**0.5) / (2 *a)
x2 = (-b - d**0.5) / (2 *a)
if d < 0:
print('Уравнение корней не имеет')
elif d == 0:
print('Корень уравнения = {:.2f}'.format(x1))
else:
print('Первый корень уравнения = {:.2f}'.format(x1))
print('Второй корень уравнения = {:.2f}'.format(x2))
Вооот.. что ещё нового? Разбирался с логическими операциями: Это даётся не просто, но вроде начал понимать. Прорешал все задания по окончанию недели. Нравится, что потом можно посмотреть решения других учащихся. Все решения можно разделить на 3 типа: Человек такой же как ты и решает весьма примитивно; человек знает гораздо больше и выпендривается решая в одну строчку, но так, что ничего не понятно; человек знает намного больше и тролит показывая сверхпримитивное решение, написанное явно с помощью другого кода =) Спасибо им всем, и научишься и посмеёшься. Многие пишут, что думают над задачами часами, а то и днями. пока максимум пол часа приходилось обмазговывать задания. Но это видимо пока.
Так, начал слушать вторую неделю. Первая тема цикл While: И вроде задачи решались и всё понятно, пока не попалась задача, решением к которой был вот такой код:
a, b = int(input()), int(input())
s = 1
while s%a != 0 or s%b != 0:
s += 1
print (s)
Но в моём первоначальном решении строчка цикла выглядела иначе:
while s%a != 0 and s%b != 0:
что мной читалось как: продолжать цикл пока число s не делится на цело и на a и на b.
блять... пока писал, что нихрена не понимаю, почему там должен стоять оператор or понял.
Ладно проехали :)
Значит продолжаю своё обучение.
Из забавного. В субботу сидели семьёй завтракали и на коробке шоколадных подушечек была головоломка для детей: посчитать число треугольников в фигуре содержащие в себе число подушечек кратное трём. Ну и я начал писать в голове код ,который сделал бы это за меня =D мысли были прерваны, но потом ночью, когда все уснули я всё таки решил задачку в голове и тоже спокойно уснул .
Всем спасибо :)