Уведомления

Группа в Telegram: @pythonsu

#1 Март 14, 2021 07:22:48

Ocean
Зарегистрирован: 2021-03-14
Сообщения: 131
Репутация: +  9  -
Профиль   Отправить e-mail  

Пытаюсь решить эту задачу:

AD0DE412
Спасибо большое ))
Нашла и мне помогло!

Отредактировано Ocean (Март 14, 2021 07:29:27)

Офлайн

#2 Март 14, 2021 08:25:03

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9730
Репутация: +  843  -
Профиль   Отправить e-mail  

Пытаюсь решить эту задачу:

Ocean
Можно ли как-то избегать такого количества if / else в коде?
Тут написан пример. Там даже без функции можно это вычислять, просто сохраняя результат в переменную.

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

Ocean
Правильно ли, что я выделила проверку високосности года в отдельную функцию или это избыточно и надо было все делать в рамках основной функции?
Это правильно.

Ocean
Буду признательна за любые указания на мои ошибки и плохой codestyle
Ошибка в том, что ты пытаешься наугад понять язык, в то время как в нём скрыто многое. Либо тебе лень читать материалы, либо ты вообще не умеешь учиться самостоятельно, даже если находишь материалы. Но в любом случае картина складывается определённая. Если ты думаешь, что на собеседовании не заметят вот это
Ocean
  
if month == 2 and is_year_leap(year) == True:
или вот это
Ocean
  
# Тест кейсы
print(date(31, 12, 2020)) # Правильная дата
, то ты глубоко заблуждаешься. Тебе даже ничего не скажут, но если и возьмут, то только чтобы пацанам кофе носить - для развлекухи. К коду тебя вряд ли подпустят даже на пушечный выстрел.



Офлайн

#3 Март 14, 2021 10:33:05

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Пытаюсь решить эту задачу:

да все у нее будет ок .. рано или через некоторое время потому что ..
Бредовая работа. Трактат о распространении бессмысленного труда



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

#4 Март 14, 2021 11:38:13

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9730
Репутация: +  843  -
Профиль   Отправить e-mail  

Пытаюсь решить эту задачу:

Я к тому, что если у неё цель куда-то залезть, а не освоить само искусство, то у неё банально мотивации не хватит, чтобы прочитать всё то, что надо прочитать. Она просто не осилит эти скучные и далеко не всегда весёлые и понятные книги, а их много.



Офлайн

#5 Март 14, 2021 13:50:48

Ocean
Зарегистрирован: 2021-03-14
Сообщения: 131
Репутация: +  9  -
Профиль   Отправить e-mail  

Пытаюсь решить эту задачу:

py.user.next
привет и спасибо за разбор

py.user.next
Значит, надо что-то почитать про сложность. Там две штуки: временная и по памяти. Она используется лишь в общих чертах.
Да, это еще прочту. Оно в планах. Сейчас слишком много еще не знаю и решила, что нужно не распыляться на все сразу. Возможно, что неверно расставила приоритеты.

py.user.next
Ошибка в том, что ты пытаешься наугад понять язык, в то время как в нём скрыто многое. Либо тебе лень читать материалы, либо ты вообще не умеешь учиться самостоятельно, даже если находишь материалы. Но в любом случае картина складывается определённая. Если ты думаешь, что на собеседовании не заметят вот это

Я понимаю, что скорее всего у тебя уже давно изжога от всех “вхожденцев в ИТ”, но я не хочу “войти в ИТ”, вдохновившись статьей на hh про медиану зп, и рекламной статьей про python за 3 дня.
Как раз получаю удовольствие от того, что разбираю и вникаю. Мне интересно и я хочу писать код хорошо. В мире уже достаточно говнокодеров и без меня, я не хочу быть одним из них.

Я зарегистрировалась здесь потому, что решила больше не бояться задавать вопросы и не стыдиться того, что сейчас чего-то не знаю. Сегодня не знаю, а завтра - выучу. Спасибо каждому, кто укажет на мои ошибки. Мне нужна помощь людей, чтобы плохое отличать от хорошего.

Я хочу заводить “хорошие привычки” написания кода как можно раньше, чтобы это стало естественным для меня.

Не оправдываюсь, а добавляю к анамнезу:
1) Я не все понимаю. Это больно признавать, но это так. У меня оказалось, много пробелов в знаниях, в том числе математика и частично английский. Ну да, я тупее чем люди, которые запомнили все с первого раза и начали писать совершенный код. Запомню с пятого или с десятого. Вот такой будет мой путь. Я уже 3 недели не могу решить задачу про реверс текста в скобках. Думаю, что у тебя бы она заняла не более 5-10 минут. Но вот такая я тугодумная и медленная. Завтра я постараюсь быть лучше, чем сегодня

2) Проблема в том, что учусь параллельно с основной работой. Делаю это когда остается время. Остается или по ночам или рано утром. Стараюсь это делать ежедневно и как можно больше уделяю времени в выходные. Естественно, что это вредит качеству. Прогресс не такой хороший, как мог бы быть, но сдаваться не планирую.

3) Сегодня мне не хватает критичности к собственному коду и найденному решению, потому что еще низкая квалификация. Пока я не умею находить еще одно решение и/или из двух найденных выбирать лучшее. Плохо читаю чужой код и не всегда уверена, что правильно поняла как именно он работает. Сейчас я на этапе, чтобы программа работала и работала правильно. Моя “победа” сейчас выглядит так: написать решение и отдебажить. Вот так все скромно и примитивно. Для меня это прогресс, потому что до этого я просто впадала в ступор и не знала как подступиться к самой простой задаче.

Спасибо, за подсказки по плохому коду:
- прочитаю про правильные конструкции if
- изучу и буду тесты писать правильно, а не на визуально в консоли.

py.user.next
Тебе даже ничего не скажут, но если и возьмут, то только чтобы пацанам кофе носить - для развлекухи. К коду тебя вряд ли подпустят даже на пушечный выстрел.
Спасибо, такая работа не интересует.
Меня не привлекает числиться разработчиком или паразитировать на коллегах.

py.user.next
Я к тому, что если у неё цель куда-то залезть, а не освоить само искусство, то у неё банально мотивации не хватит, чтобы прочитать всё то, что надо прочитать. Она просто не осилит эти скучные и далеко не всегда весёлые и понятные книги, а их много.
Хочу много книг)
Онлайн курсы на Kaggle прохожу.
Из видео Хирьянова смотрю, но без практических занятий, это как попытки бегать на одной ноге.
Задачи решаю на Checkio и codesignal (отсюда собственно мысли про собеседования как источник обратной связи). Именно на codesignal застряла на задаче про реверс в скобках. Думаю, что не знаю какого-то элементарного алгоритма.

Сейчас изучаю по книге Эрика Мэтиза “Изучаем Python” 2020 года издания и официальной документации.
Следом лежит 2 тома Лутца. Знаю, что книги уже сильно отстают по версии и много нового в языке за это время появилось. Пока не на том уровне, чтобы сильно об этом беспокоиться. Подтянуть разницу в версиях будет меньшей из моих проблем.

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

Офлайн

#6 Апрель 12, 2021 22:38:54

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9730
Репутация: +  843  -
Профиль   Отправить e-mail  

Пытаюсь решить эту задачу:

Ocean
Я понимаю, что скорее всего у тебя уже давно изжога от всех “вхожденцев в ИТ”, но я не хочу “войти в ИТ”, вдохновившись статьей на hh про медиану зп, и рекламной статьей про python за 3 дня.
Это всё так не работает. Нельзя захотеть быть программистом и стать им. Надо учиться. Даже если тебя возьмут куда-то, ты от этого программистом не станешь. Соответственно, когда встанет вопрос, что надо вот сейчас срочно или не срочно что-то написать, ты просто ускользнёшь в сторону, тебя ветром сдует и не будет вообще видно. А работать будет тот, кто умеет делать. Это произойдёт раз, произойдёт два, и так ты быстро окажешься в кофейном отделе, будешь кофеёк разносить чисто, обслуживать. Называться-то ты будешь программистом, а функционировать ты будешь как официантка. Потом тебе скажут “помой кружку и сделай кофе, мы тут программу пишем, или садись писать программу вместо нас”, там ты и поймёшь, кто ты. И уходить будет некуда, так как официанток миллион и все места заняты.

Ocean
У меня оказалось, много пробелов в знаниях, в том числе математика и частично английский.
Сначала подойдёт школьная математика, потом нет. Например, в mp3-формате используется быстрое преобразование Фурье. Ты даже если захочешь разобраться, ты не сможешь разобраться в этом, потому что средней школы для этого не хватит даже близко. Там много таких вещей. Вещи, которые ты знаешь хорошо, устроены очень сложно. Это только пользоваться ими просто. Примерно как пользоваться смартфоном в принципе легко, но понять, как он устроен, практически невозможно. А программист - это тот, кто как раз делает такие смартфоны, а не рассказывает про них с умным видом или ловко использует для звонков, видеосъёмки и других вещей.
Английский тоже необходим, даже вначале. Все актуальные материалы, самые свежайшие на английском. На русский язык либо переводят с отставанием в два-три года, либо вообще не переводят, так как оно того не стоит. Поэтому многие важные документы не переведены вообще на русский. Также существует ещё проблема переводов. Переводчики бывают тоже никакие. Не все переводчики профессионалы. Бывают самоучки, после курсов, после колледжей, после заочного и тому подобное. Поэтому когда читаешь описание SCRUM на русском (это перевод), это просто выглядит как какая-то белиберда с кучей терминов, которые сложно запомнить. Когда же читаешь описание SCRUM на английском (от авторов), это выглядит как художественный текст с минимумом терминов каких-либо. Очень хорошо запоминается. И дело не в том, что перевести этот текст сложно, просто переводил его безграмотный переводчик, как и книжку про Git. Просто часто непрофессионалы берутся за перевод, потому что на профессионалов денег нет. Поэтому очень часто будешь сталкиваться с тем, что, читая книгу на русском, не будешь помнить из неё ничего или всё будет сумбурно, как в тумане. И вот для этого нужно читать исходный материал, который написан на английском языке. Потому что тогда ты можешь прочувствовать автора и понимать, что он хочет сказать в своём материале. Там отражается его личность.

Ocean
Я уже 3 недели не могу решить задачу про реверс текста в скобках.
Эта задача не сложная. Решить ты её не можешь потому, что не прорешала до этого кучу других задачек, которые попроще и которые выглядят как бессмысленные. Это целая группа задач на работу с массивами. Маскируются они под сортировку элементов в массиве. По сути же они представляют из себя работу с элементами массива, слежение за его границами и точное позиционирование элементов по их индексам в массиве.

Ocean
Думаю, что у тебя бы она заняла не более 5-10 минут.
Да, действительно, за пять минут я нашёл в Яндексе 1) саму задачу в исходном виде (не пересказ задачи и не имея аккаунта на codesignal) 2) 100500 решений этой задачи другими ребятами. Думаю, ты бы тоже нашла, если бы имела опыт в поиске через поисковые системы (изучила принцип работы поисковых систем и специальный язык запросов каждой поисковой системы). В конце сообщения я приложил ссылки на решения задачи, найденные в Яндексе. Это не все ссылки. По ним можно понять направление мысли.

Ocean
Проблема в том, что учусь параллельно с основной работой. Делаю это когда остается время.
Программированием надо заниматься много и впустую. Это первый этап и он неизбежен. Нужно изучить много технологий, которые ты никогда не будешь использовать и с которыми ты никогда не будешь работать. Таким образом ты обучишься и станешь чувствовать архитектуры. Эффект от этого такой: после десятка изученных напрасно программ изучение современной и нужной программы, архитектурно схожей с теми изученными ранее десятью, проходит в пять раз быстрее и продуктивнее. На примере задачи со скобками можно увидеть как прорешивание глупых, бессмысленных и неинтересных задач на сортировки с процедурой перестановки элементов в массиве очень легко способствует решению переворачивания символов в подстроке в данной задаче. С точки зрения мозга работа с элементами в массиве и работа с символами в строке - это одно и то же, это работа с какими-то объектами в каком-то хранилище объектов, где эти объекты упорядочены друг относительно друга. Ты думаешь одинаково как про то, так и про это. И множество решений из предыдущих задач автоматом срабатывают в новых задачах. Если ты ездила на автобусе по городу, то ты примерно понимаешь, как проехать на поезде по стране. Хоть ты и видишь этот поезд впервые, он такой большой и страшный и неизвестно, как он там поедет дальше, но при заходе внутрь всё как-то оказывается просто, понятно и легко. Это работает опыт многочисленных предыдущих поездок на совершенно другом общественном и необщественном транспорте. Просто он работает незаметно.

Ocean
Пока я не умею находить еще одно решение и/или из двух найденных выбирать лучшее.
Пока что ты не можешь вообще найти решение. При этом ты пытаешься найти два. Ты одно не можешь найти. Но пытаешься сделать два раза то, что не можешь сделать ни разу. То есть это первый признак того, что ты пытаешься проскочить время, которое требуется для полноценного изучения и которое никуда не денется, если его проскочить. Другими словами, если ты прочитаешь книжку вскользь и захлопнешь её на последней странице со словами “я прочитала книжку”, то это тебе не поможет. Ты всё так же закроешь книжку, которую не прочитала. И ты можешь ходить потом и рассказывать, что ты её прочитала, все будут кивать, никто не будет проверять, но уметь ничего ты не будешь, а знания у тебя будут “тут помню, тут не помню”. Поэтому если ты читаешь книги и на это уходит очень много времени, даже слишком много времени, то это происходит потому, что это нормально. Нормально, если на книги уходит слишком уж много времени. Это так и должно быть, когда учишься по-настоящему. Когда перестаёшь узнавать из книги хоть что-то, когда в ней не остаётся больше вообще никаких загадок, тогда она и пройдена. Её просто становится незачем читать.

Ocean
Плохо читаю чужой код и не всегда уверена, что правильно поняла как именно он работает.
Большая часть работающего кода в мире очень плохо написана. Мало кто следит за качеством кода. На это нужно время тратить, а люди время не тратят, а пишут говнокод, который работает как-то вроде правильно. Потом, конечно, это должен кто-то продолжать поддерживать, но они обычно сбагривают свой говнокод другим и сами отваливают, получив все плюшки и сняв все сливки. Их не интересует искусство. Поэтому, когда тебе надо будет что-то узнать, тебе придётся читать говнокод и из него выуживать крупицы каких-то идей. А для этого надо уметь читать говнокод. Чтение говнокода неизбежно. Главное, сама говнокод не пиши, а то привыкнешь.

Ocean
Именно на codesignal застряла на задаче про реверс в скобках. Думаю, что не знаю какого-то элементарного алгоритма.
Ну, там задача может быть решена несколькими способами, основных направлений два: итеративное и рекурсивное. Но так как задача для новичков, то, конечно, там нужно итеративно её решить и не думать ни об оптимизации, ни об изменении задания в более сложную форму. Просто дурацкая головоломка, которая ничего не даёт. Типа олимпиадной задачки. Олимпиадные задачки ничему не учат. Учат специальные задачи, разработанные так, чтобы научить чему-то. Поэтому и надо искать вузовские лабораторные работы и прорешивать их, так как составляются изначально они для тренировки определённых навыков и групп навыков, а не для тестирования кого-то на что-то.

Ocean
Буду признательна, если ты подскажешь хорошие с твоей точки зрения книги.
Нужно читать все классические книги. То есть тебе нужно выявить выдающихся программистов в истории и брать их труды. Хочешь быть хорошим экономистом - бери книжку Карла Маркса и читай её. Хочешь быть хорошим физиком - бери книжку Эйнштейна и читай её. Хочешь быть хорошим психологом - бери книжку Фрейда и читай её.
В программировании главное знать, что нет никакого программирования на питоне. Есть просто программирование.

Это ссылки на решения задачи про реверс в скобках:
“Reverse in Parentheses” - Codesignal #13 - JAVA Solution - YouTube
https://www.youtube.com/watch?v=3k8SCh3dUAw
codesignal-my-solutions/reverseParentheses.py at master · dvitsios/codesignal-my-solutions · GitHub
https://github.com/dvitsios/codesignal-my-solutions/blob/master/reverseParentheses/reverseParentheses.py
reverseInParentheses - Pastebin.com
https://pastebin.com/HF4WRPXq
Reverse substrings between each pair of parenthesis - GeeksforGeeks
https://www.geeksforgeeks.org/reverse-substrings-between-each-pair-of-parenthesis/
java - Reversing strings inside parentheses - Code Review Stack Exchange
https://codereview.stackexchange.com/questions/156961/reversing-strings-inside-parentheses



Отредактировано py.user.next (Апрель 16, 2021 22:58:41)

Офлайн

#7 Апрель 16, 2021 14:03:36

Ocean
Зарегистрирован: 2021-03-14
Сообщения: 131
Репутация: +  9  -
Профиль   Отправить e-mail  

Пытаюсь решить эту задачу:

py.user.next
спасибо! )

py.user.next
Поэтому если ты читаешь книги и на это уходит очень много времени, даже слишком много времени, то это происходит потому, что это нормально. Нормально, если на книги уходит слишком уж много времени. Это так и должно быть, когда учишься по-настоящему. Когда перестаёшь узнавать из книги хоть что-то, когда в ней не остаётся больше вообще никаких загадок, тогда она и пройдена. Её просто становится незачем читать
А за это прямо большое спасибо, потому что я испытывала постоянное ощущение, что я тупая улитка, ползущая по бесконечно удлинняющейся ленте из того, что мне надо знать. Ну и, соответственно, пришпориваю и пинаю себя.

py.user.next
Поэтому очень часто будешь сталкиваться с тем, что, читая книгу на русском, не будешь помнить из неё ничего или всё будет сумбурно, как в тумане. И вот для этого нужно читать исходный материал, который написан на английском языке.
Вот прямо все так и есть, как в тумане. Мне и ведение конспекта не помогало.
Я сейчас читаю по Джанго официальную документацию и когда совсем не могу понять, что на англ написано, то на djbook.ru подглядываю. Там перевод выложен.

py.user.next
На примере задачи со скобками можно увидеть как прорешивание глупых, бессмысленных и неинтересных задач на сортировки с процедурой перестановки элементов в массиве очень легко способствует решению переворачивания символов в подстроке в данной задаче.
Поняла! Пошла искать такие задачи) Спасибо.

Я до того как на codesignal поперлась, брала задачи здесь https://github.com/zhiwehu/Python-programming-exercises/blob/master/100%2B%20Python%20challenging%20programming%20exercises.txt
Все их прорешала.
Где не могла решить никак сама, выписывала себе отдельно задачу, разбирала решение и потом через время к ней возвращалась, когда считала что уже подсмотренное решение выветрилось из головы.
Потом снова попробовала силы на Check io. Когда я там зарегистрировалась только, решить не могла ничего. Просто в ступор впадала и вообще не понимала с какого края подступиться.

Свои дыры в математике тоже нашла через боль, когда пытаться решать задачи из проекта Эйлера. Сейчас тоже уже полегче с этим

py.user.next
А для этого надо уметь читать говнокод. Чтение говнокода неизбежно. Главное, сама говнокод не пиши, а то привыкнешь.
Ну я только одно придумала средство как не писать говнокод: собираться с духом, показывать другим, огребать заслуженных люлей и делать выводы. Может есть какие-то еще?)

py.user.next
основных направлений два: итеративное и рекурсивное. Но так как задача для новичков, то, конечно, там нужно итеративно её решить и не думать ни об оптимизации, ни об изменении задания в более сложную форму.
Я итеративно пыталась и не смогла алгоритм сам расписать. Подглядывать не хотела. Типа ж задачка простая

py.user.next
Просто дурацкая головоломка, которая ничего не даёт. Типа олимпиадной задачки. Олимпиадные задачки ничему не учат.
Вот это для меня откровение. Спасибо за сэкономленное время! Потому что я себе нашла на прошлой неделе тонну олимпиадных задач)

py.user.next
Учат специальные задачи, разработанные так, чтобы научить чему-то. Поэтому и надо искать вузовские лабораторные работы и прорешивать их, так как составляются изначально они для тренировки определённых навыков и групп навыков
Спасибо за подсказку. Это прямо огонь. Пошла искать лабораторки. Пофиг даже на какой язык они рассчитаны. Буду решать на том, на котором знаю
Я че т не додумалась)

py.user.next
Это ссылки на решения задачи про реверс в скобках:
Спасибо большое. Изучаю решения.

Офлайн

#8 Апрель 17, 2021 00:04:14

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9730
Репутация: +  843  -
Профиль   Отправить e-mail  

Пытаюсь решить эту задачу:

Ocean
А за это прямо большое спасибо, потому что я испытывала постоянное ощущение, что я тупая улитка, ползущая по бесконечно удлинняющейся ленте из того, что мне надо знать. Ну и, соответственно, пришпориваю и пинаю себя.
Сначала ты будешь читать всё быстро. Это потому, что чтение идёт поверхностно. Глубоко в материал ты погрузиться не можешь, так как у тебя не хватает базовых знаний для этого. Поэтому тебе будет казаться, что книги можно читать быстро. Но пройдёт несколько лет и ты будешь читать книги всё дольше и дольше. Это происходит потому, что у тебя появляются базовые знания и ты потом, читая книгу, прикрепляешь новые знания к базовым знаниям и проводишь новые знания по всем закуткам базовых знаний. Так у тебя новые знания встраиваются в базовые знания. И чем больше ты узнаёшь, тем больше ты замечаешь, как много ты ещё не знаешь. Типа как Сократ. Времени, конечно, уходит на это много, но и эффект от этого мультипликативный.

А главное в этом всём - это выйти за предел новичка. Это вот фильм “Изгой” есть с Томом Хэнксом. Думаю, ты видела его. Так вот там у него была задача выбраться за пределы вала из морских волн (течение там и тому подобное) и этому посвящена большая часть фильма. Фильм метафоричный, поэтому он легко ложится на примеры всякие. Так вот в программировании, пока ты новичок, у тебя нет доступа к программированию. Ну, ты читаешь теорию всякую и нихрена понять не можешь. Ну, просто она сложная. Так ты понимаешь, что она тебе не под силу. Но стоит преодолеть предел новичка и программирование открывается. Вещи, которые раньше были непостижимыми, становятся очень доступными все разом. У тебя буквально разбегаются глаза, так как заниматься теперь становится возможно и тем, и этим, и вот этим. Это вот в фильме он вырвался за волновой вал и так он смог уплыть с острова, который удерживал его долгое время. Вот новичковое состояние - это такой остров, оно удерживает тебя. Если ты опустишь руки, то ты так и сдохнешь там, на этом острове. Если же ты будешь учиться-трудиться, то через какое-то время (долгое время) у тебя наберётся необходимая масса опыта и ты сможешь преодолеть этот непреодолимый ранее волновой вал. И когда ты его преодолеешь, тогда ты и поймёшь, что теперь ты можешь, наконец-то, заняться программированием нормальным, а не фигнёй какой-то поверхностной. Там ты начинаешь учиться по-настоящему.

Ocean
Я до того как на codesignal поперлась, брала задачи здесь https://github.com/zhiwehu/Python-programming-exercises/blob/master/100%2B%20Python%20challenging%20programming%20exercises.txt
Эти задачи учат тому, как что-то делать на питоне именно. То есть они не учат программированию в общем смысле, они демонстрируют лишь возможности питона.

Ocean
Где не могла решить никак сама, выписывала себе отдельно задачу, разбирала решение и потом через время к ней возвращалась, когда считала что уже подсмотренное решение выветрилось из головы.
Да, это всё надо пройти, чтобы понять, что этого делать не надо. Это тоже в опыт входит. Поможет в будущем обойти многие говнокурсы, замаскированные под хорошие, и тому подобное.

Ocean
Свои дыры в математике тоже нашла через боль, когда пытаться решать задачи из проекта Эйлера.
Не, математикой ты занимаешься у математиков, а программированием ты занимаешься у программистов. Ни те, ни другие друг у друга не шарят, как правило. Код математиков - это говнокод натуральный. А математика программистов - это тоже школоло-математика обычно, не более. Ты же не пойдёшь к повару стричься, а к парикхмахеру рецепт круассанов брать. Это не их профили. Может быть, они умеют, но, скорее всего, что-то простенькое только.

Есть такая специальность “экономист-программист” или около того. Ну, это и не экономист, и не программист. Чебурашка.

Ocean
Ну я только одно придумала средство как не писать говнокод
Нет, для этого надо книги читать. Они обычно почищены от говнокода, но не всегда. Есть книги таких авторов, которые делают деньги просто, поэтому в их книгах может говнокод быть, потому что они кого-то нанимают там просто для написания кодов, всё это по дешёвке происходит и так далее. Документации официальные тоже читай, там тоже всё чисто, как правило. Вот ты по Django читаешь материалы, хоть она и нахер не нужна эта Django, но там ты увидишь примеры хорошего кода, поэтому я тебя не отговариваю от того, чтобы ты читала эту доку. Django ты пользоваться не будешь, оно тебе не поможет, но чтение документации оставит хороший опыт, потому что документация у них хорошая. Так ты постепенно сформируешь все критерии и будешь понимать, где код хороший, а где это просто говно в исполнении профессионала. Причём писать он его будет с умным видом очень. Но при этом ты будешь видеть, что это вроде говно какое-то, чем-то отдаёт. В английском есть понятие “пованивающий код”. wiki. smelling code

Ocean
Потому что я себе нашла на прошлой неделе тонну олимпиадных задач)
Олимпиадники участвуют в олимпиадах. Программ они делать не умеют. Они участвовали там и вон там и медаль такую он там выиграл и поездку куда-то там, но спроси его, чем он пользуется каждый день - все его программы чужие. Другое дело, если человек вуз прошёл, он не отсвечивает нигде, но на его коде крутится прошивка в каждом боинге в мире.



Отредактировано py.user.next (Апрель 17, 2021 00:13:03)

Офлайн

#9 Апрель 17, 2021 02:37:49

Ocean
Зарегистрирован: 2021-03-14
Сообщения: 131
Репутация: +  9  -
Профиль   Отправить e-mail  

Пытаюсь решить эту задачу:

py.user.next
Если же ты будешь учиться-трудиться, то через какое-то время (долгое время) у тебя наберётся необходимая масса опыта и ты сможешь преодолеть этот непреодолимый ранее волновой вал. И когда ты его преодолеешь, тогда ты и поймёшь, что теперь ты можешь, наконец-то, заняться программированием нормальным, а не фигнёй какой-то поверхностной. Там ты начинаешь учиться по-настоящему.
Поняла. Рефлексию в сторону и буду учиться и писать код пока не наберу достаточно опыта.

py.user.next
Эти задачи учат тому, как что-то делать на питоне именно. То есть они не учат программированию в общем смысле, они демонстрируют лишь возможности питона.
что лучше читать и делать для изучения программирования в общем смысле?

Я в прошлом году прошла курс бесплатный на GeekBrains “Алгоритмы и структуры данных на Python”. Там мне подход понравился и я его заимствовала.
Там учили, что до того как садиться писать код, надо блок-схему решения составить. А потом уже глядя на блок-схему кодить. Получается чуть дольше, но по ощущениям мне помогает структурировать решение

Что можно почитать и где примеры посмотреть как правильно проектировать программы?

py.user.next
Есть такая специальность “экономист-программист” или около того. Ну, это и не экономист, и не программист. Чебурашка.
Поняла. Чебурашек вычеркиваю, математику у математиков учить буду. Спасибо!)

py.user.next
Нет, для этого надо книги читать. Они обычно почищены от говнокода, но не всегда.
Увидела, что вы ссылку кидали на эти книги
https://codernet.ru/books/python/
Тут нормальные в списке или тоже больше коммерческое?
Каким авторам мне стоит доверять?

Я и официальную доку по python читаю, чтобы из первоисточника черпать. AD0DE412 еще подсказал, что в модули смотреть можно. Стала тоже смотреть и разбирать как и что там написано.




Отредактировано Ocean (Апрель 17, 2021 02:46:53)

Офлайн

#10 Апрель 17, 2021 04:49:12

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9730
Репутация: +  843  -
Профиль   Отправить e-mail  

Пытаюсь решить эту задачу:

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

Ocean
Там учили, что до того как садиться писать код, надо блок-схему решения составить. А потом уже глядя на блок-схему кодить. Получается чуть дольше, но по ощущениям мне помогает структурировать решение
Да, я это писал всё уже здесь. Пройдёшь по советам, там это прочитаешь. Блок-схемы - это не всё. Вот я писал вот это в 2018-м году, что я буду сейчас это второй раз сюда переписывать. Во, и тут ещё в августе 2020-го писал то же самое. Не буду же я это плодить ещё в этом топике.

Ocean
Каким авторам мне стоит доверять?
Которые создали что-то в своей жизни, кроме книги этой, в которой они авторы.
Вот начинай с вопросов: кто создал язык Python? кто создал язык C++? кто создал язык C? кто создал язык Go? кто создал язык Assembler? кто придумал грамматики языка? кто придумал операционную систему Linux? кто придумал кодировку UTF-8? кто придумал оперционную систему UNIX?
Вот они часто пишут книги. И вузовские учебники пишут тоже на основе статей этих авторов технологий и ссылаются на эти статьи, а не просто отсебятину там пишут, как во многих книгах в красивых обложках бывает.
А если ты будешь просто по обложке судить, то ты и будешь находить всякую фигню в красивой обёртке. Где-то повезёт, а где-то туфта будет полная. Тебе придётся читать все книги, именно так ты научишься их различать.

Ocean
Я и официальную доку по python читаю
Да, я сам регулярные выражения изучал, выучив чуть ли не наизусть документацию к ним в питоне. Конечно, там покрыты не все вопросы регулярных выражений, но для начала самое то. Дальше ты уже переходишь к материалам, а что это за автоматы и изучаешь уже по книжке про компиляторы их.

Ты не думай, что сразу сможешь читать сложные книжки. Как я сказал, есть вот этот уровень новичка, из которого нельзя взять, захотеть и выйти. Это не так происходит, у меня года три ушло на выход из состояния новичка и преодоление барьера. Мало ли что я там хотел. Вот ты хочешь программу написать, но ты же её не можешь написать, потому что она не получается. Поэтому одного желания мало. Нужно опыт накопить. И сам он тоже не накопится. Если даже я тебе посоветую сложные книжки, ты их не поймёшь. Это всё равно что мальчику, мечтающему стать космонавтом, дать книжку, в которой описано устройство модуля космической станции со всеми там дифференциалами и прочей хренью.



Отредактировано py.user.next (Апрель 17, 2021 04:54:59)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version