Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы: https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации https://dumpz.org/ - можно постить листинги, не требует регистрации https://pastebin.com/ - для листингов, регистрация не обязательна https://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться
Вопросы-ответы: — А стоит ли читать Лутца, том номер N? Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем — решать тебе, книга вредна не будет, но ты можешь её просто не дочитать и забросить.
— Стоит ли читать %книга_нейм%, если там питон версии 2.х? Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х
— А что ещё можно читать? Питон сам по себе очень хорошо задокументирован и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html
— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом? Очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4[РАСКРЫТЬ]
— А как учить джангу? Нахожу только книги по джанге 1.х У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой из официальной документации.
— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать Вот, пожалуйста, та же самая программа, но переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)
— Как можно без лишней возни ускорить программу на питоне 1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь. 2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.
— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
В общем, у меня появилось куча свободного времени я уволился и хочу сменить яп не проседая по ЗП. Имею бекграунд на пистоне со всякими асинхронными штуками и чуть чуть жданги, с настройкой ci/cd, кафкой, nosql и sql базами данным и микросервисами. Суммарный опыт 3 года. Пока самым перспективным вариантом вижу ГО, т.к. вакансии часто требуют знать два этих языка для переписывания с питона на го. Есть тут перекатившиеся таким образом?
Зачем использовать рекурсию (например, в каноничном примере с фибонначи)? Её сложно понимать и дебажить, сжирает память при большом n, а какие плюсы? Быстрее работает программа или что? Нафиг она вообще нужна?
Анон, есть тут те, кто обучался бэкенду не из-за любви к этому, а чисто из-за заработка? Как заставляли себя черпать информацию и практиковаться часами, сутками напролет?
Друзья, подскажите как попроще из notebook сделать веб-приложение с кнопками и без кода? нагуглил viola и как ее в docker запускать. Но мне для быстрой разработки удобнее было бы на винде. Как ее на винде запускать?
>>1773845 Насмехаться над джангохолопами, конечно. Пиздос, анон. 3 месяца уже сижу, ищу РАБоту. Шутка ли, я оффер из гейропы быстрее получил, чем тут устроился джуном, лол.
>>1773962 Ты нулевый просто. Даже твой "опыт" и то гавно судя по всему, раз не берут Я получил оффер на джуна спустя 2 недели после публикации резюме (через неделю сделал одно из тестовых (около 2 дней делал), а еще через неделю прошел собес)
>>1773973 Я вообще другой анон, не тот который про ГО спрашивает. Много собезов проходил и везде говорили, что всё заебись, но в итоге постоянно срывалось. Последний технический собез прошёл вообще замечательно, но вот хуй знает, как-то не берут и всё.
>>1773978 Видимо ты какой-то "не от мира сего". Умение общаться и т.п. тоже играет роль. Может как программист ты и хороший, но видимо просто не умеешь в социум.
>>1773992 >>1773997 Да хрен его знает. Мы и поговорили довольно хорошо. Первая часть последнего технического собеза по большому счёту и была про софт скиллы. Для полной картины оставалось только пивас принести и за ним обговорить что-нибудь на злобу дня, лол. Мне кажется у меня какой-то фундаментальный косяк в знаниях, когда я с умным видом несу хуйню, а мне из-за неё отказывают. Грустно короче.
Зачем питон лезет в Веб, если для этого давно и успешно есть php? Нахрена всякие джанги, когда есть Лара? делать сайтики на питоне же это как писать нейросеть на html, разве нет?
>>1774043 Вся веб-дрисня, изначально заложенная в пхп уже давно выпилена или легаси. Сейчас это язык общего назначения с отдельными фреймворками под веб, точно так же как питон. И в чем же критическая разница, на чем писать?
>>1774030 Если с социумом все в порядке, но не можешь найти работу в офисе, так почему бы попробуешь вкатиться во фриланс? Надеюсь, что с инглишем все в порядке.
>>1774068 Нет, лучше саморезы молотком забивать, потом что ты же не предлагаешь купить + ещё один инструмент? Хотя, позиция ясна и имеет право на жизнь.
>>1774090 С хуя ли невозможно? У меня как минимум один знакомый есть, который уже полгода как в upwork нашел работу по контракту, месячная зарплата 2600 долларов. Очень даже неплохие деньги.
Алсо, как в Django вкатился? Тоже вот думаю начать. Может посоветуешь чего.
>>1774121 А мы хотим копировать. Хотим делать волшебные манипуляции с данными в pandas с скоростью Си. Хотим расхуячивать json-ы как мы привыкли. Хотим гуглить стандартные для питона, но нестандартные для php ответы в stackoverflow.
Представил себе библиотеку для подключения китайцев. Типа такого: . from chinase import sort . result = await sort.images(imgs, classes) . И китайцы где-то в подвалах вручную тебе сортируют картинки (как пример) за копейки. Есть такой фреймворк уже, нет?
>>1774043 >Зачем питон лезет в Веб, если для этого давно и успешно есть php? А зачем джаваскриптомакаки придумали свою ноду? Чтобы не учить лишний язык и лепить свое дерьмо везде. Субд свою только блять осталось написать с запросами на своей хуйне.
>>1774143 Это называется image embedding - использование готовой нейросети, без финального слоя. Заранее натренированная крутыми компаниями нейросеть выдает набор чисел и у похожих картинок близкие числа в n-мерном пространстве. Только вот n ~= 2048 и как ты будешь сортировать - хуй знает.
>>1774148 Да я просто первое что попало в голову привёл, так-то понятно что нейросеть уже сортировать умеет. Этот анон уже ответил: >>1774147 >amazon mechanical turk
Как установить сразу несколько рабочих версий Питона? 3.6, 3.7, 3.8 и 2.7? Чтоб на основе каждой из них можно было создавать своб виртуальную среду (реквестирую инфу что для винды, что для линуха)
>>1774145 Покажи нормальные реализации ORM на PHP. Ты бугуртишь, что у тебя хлеб отнимают что ли? А еще веб сервисы на Go, RoR, Java пишут иди у них поной. Python в плане фреймов не тянет за собой джунгли говна, в этом плане Go еще практичнее, но и пердолинга больше.
К тому же на питоне удобнее (не лучше) оформлять несвязанные данные и выдавать удобночитаемые данные для человека из-за своих нативных типов, в пэхе это адъ.
>>1774192 берешь и ставишь. Во многих дистрибутивах про 2.7 уже забыли и перекатились на 3.6(легаси) и 3.8. Инфа... ну читай про venv\pipenv. Но ты объебешься на самом деле. 3.6 может не запуститься с 3.8 из-за синтаксиса и наоборот. 3.7 туда же. И это моветон какой-то. Ладно если на галере легаси, а если с нуля, то нахера таким заниматься? В системе может быть куча интерпретаторов и этим может Conda заняться.
>>1774250 >20% денег amazon себе берет за эту хуйню. За веб-интерфейс и по сути за нихуя. Ну так ты больше потратишь пока сам найдешь эту тысячу китайцев.
>>1774275 >range(0, 10000, x) На этом моменте ты уже инициализировал генератор кек. Поэтому твои потуги с x = x * 10 идут в никуда. Я догадываюсь что ты хочешь сделать, но для этого надо написать свой собственный генератор (не так уж и сложно), либо хуярить инкерменты через while
>>1774250 Ты не понял. Например, в программе я парсю сайт погоды, затем в зависимости от погоды вызываю тот или иной метод библиотеки, в котором вкратце описываю разные варианты того, что нужно сделать (полить помидоры, привезти зонт, позвонить по номеру и спросить васю, да что угодно). Всё, скрипт вертится на серваке и ничего больше елдать не нужно. Можно так например пошаговую стратегию замутить из реальных людей и другие приколы. Понятно, что это дорого, но я и не говорю, что общество уже готово к такому, тем более у нас. В программировании вообще вопрос денег вторичен, когда речь заходит о новых технологиях.
>>1774324 Программирование уже пока нахуй не нужное, интерфейс нужон, заебло руками всё делать да в дисплеи каждый раз пялится. Разницы нет в окно помотреть погоду или в моник, один хуй долго. Так что макаки вы пока из пустого в порожнее погоняйте да подождите пока умные люди родятся и за вас вё сделають
>>1773714 (OP) Анон, подскажи с решением правильным подходом при решении задачи: На работе дали задание, отсортировать два списка по номерам.
У меня есть две идеи, как лучше всего это сделать: отсортировать получившуюся таблицу (т.е. преобразовать её в список) и уже дальше распарсить номера и отсортировать или же до формирования таблицы начать сортировать, когда она только строится.
>>1773714 (OP) >Так-то у питона много говнокода понаписано, а мы называем это библиотеками гыгы >А эти ваши плюсы ебаные-непонятные с войдами какими-то это нам не надо всё. СЛОЖНА СЛОЖНА 3D моделирование какое-то, какие-то векторы, блять, ещё и математику нужно считать, потому что подразумевается, что для использования C++ библиотек ты должен знать её. Ну нахуй в общем. ДАЙТЕ МНЕ КОСТЫЛЬ, ХОЧУ КОСТЫЛИТЬ вся суть питона as is
>>1774396 Зачем нужно что-то кроме ассемблера - вообще не понятно. Сами себе жизнь усложняют всякими языками. Да и от компьютеров, в целом, отказаться можно, от этих костылей лектрических. Мозги человеку на что?
>>1774396 >А эти ваши плюсы ебаные-непонятные с войдами какими-то Очнись, Мань, высокопроизводительные либы питона (numpy, numba, FastAPI) написаны на плюсах частично либо целиком
>>1774424 Нет. Из джиры запрашиваются задачи и только после получения можно как-то фильтровать. В теории, возможно у Джиры запросить уже отсортированные...
Письканы ! Проблематика вопроса встала очень серьёзно: в правом верху экрана на картинке вы наблюдаете число которое мне нужно вернуть(return) из самой внешней функции но у меня всегда None. Что то не так или я вообще не так делаю ? Самая внешняя функция чиста тестовая остольное моё
>>1774867 Сайт где школьники пишут задачки по програмированию(различные вариации проэкта эйлера) и другие школьники их решают, в достаточно неплохом интерфейсе для веба
>>1774868 Ааааа, это уже моя методика (супертехника) была, что бы удобнее в сторонней IDLE было писать а потом туда копипастьть на сайт codewars. Но я сейчас сделою нормально спасибо что ткнул носом в этот очевидный покак.
>>1774880 Ну лично я между эйлером и кодварсом выбрал бы второе, там прикольно на самом деле , есть система уровней за каждую задачку дают опыт, ну и вообще преобретает некий игровой процесс. Задачи можно сортировать по типам(работа с масивами или со строками, алгоритмы или фундоментальное что-то) и по сложности. ну еще показывает решил ли ты задачу или нет, в то время как ответы эйлера надо гуглить и сравнивать со своим ответом Единственный минус это то что на английском(хотя как посмотреть), в крайнем случае можно воспользоваться встроенным в браузер переводчиком страниц если с хрома
>>1774896 Как-то по жабаскрипту решал там всякую хуйню. "Лучшее" решение очень часто - просто конструкция в 1 строчку из ДЕСЯТКОВ НАХУЙ map/reduce/every/filter и прочих стрелочных функций. Долбоебы восторгаются "ох как пиздато и кратко написано, респектос". А нормальное читабельное решение, которое еще и выполняется быстрее, тонет.
Изучаю строковые методы. Можно ли сделать так, чтобы я передавал в .format только имя словаря, а ключи указывал только в строке?
slovar={"name":"Jencent","doljnost":"лох"} text= "Хей, тупой %(name)s опять обосрался, ведь он %(doljnost)s!" print(text % slovar)
Хочу сделать то же самое, но через .format. Пока только так: text5="Хей, тупой {name} опять обосрался, ведь он {doljnost}!" print(text5.format(name=slovar["name"], doljnost=slovar["doljnost"]))
То есть мне приходится костылить и создавать новые объекты.
>>1775032 Слышал про него, но не разбирался, да и не особо хочется если честно, поэтому ничего не скажу, сам я редко пишу что-то сложнее парсера медиаматериалов с интернетов, поэтому не вижу смысла для себя лично в алгоритмы вдалбливаться, разве что побаловаться
>>1775192 Не особо понимаю суть вопроса,что значит тренироваться в питоне? создавать объекты, переменные и изменять их значения колдоябя их туда сюда? Если да то тогда создавай обьекты, переменные и колдоебь их туда сюда. И смотри как оно работает. Ты бы лучше чего поконкретней спросил, как практиковаться в веб разработке, как практиковаться в автоматизации, как практиковаться скрапинге, как практиковаться в в создании ботов для телеграм/дискорд как практиковаться в РазличнаяОбластьНейм Но в интренете на это и так есть куча гайдов, из разряда посмотрел повторил, по возможности запомнил Причем я еще не особо понял вот это >>1775094 я же не запрещал пользоваться леткодами, просто сказал что я о нем ничего сказать не могу, и еще уточнил что лично для СЕБЯ не вижу смысла, не то чтобы мне алгоритмы были не нужны, но мне достаточно того что я уже знаю, а машин лернингом заниматься и датой в планах у меня нет
>>1775272 Да но как после мини курса в Ютубе начать делать что то рабочее ? По типу бота для игры или парсинга что ни будь типо этого ? Как соеденить python и реальный так сказать мир ? С чего начать ?
Пиздец - 5 кю у неё, потому что какой то четырёхглазый пидорас-задрот подумал типа она слишком лёгкая. Я ебал - третьи кю есть легче.
Ну а вообще я сразу пропускаю все вида "решается просто, но будет ограничение по времени хи-хи", тк это всё от додиков, которые прошли алгоритм на парах и его закидывают имплементацию на codewars. Я не кодер - мне особо не надо
Хочу высказаться на тему PyCharm vs VSCode. На сегодня побеждает PyCharm, и вот почему: вначале я на нем плотно сидел, каждый день. А то и несколько раз в день. Потом мне посоветовали vscode, и я пересел на это дерьмо. Оперативы жрет меньше, бесплатно. Но на этом плюсы заканчиваются, друзья. Обнаружил 3 весомых минуса, которые заставили меня вернуться в PyCharm: 1. Неудобное дерево файлов. Да, за пол года я так и не смог к нему привыкнуть. Кручу-верчу колесико в поиске нужного файла. Ужасно раздражает. 2. Опять из темы удобства - если открыто более 10 файлов, легко забываешь, в каком только что был и опять поиск нужного файла - а заебывает. 3. Ебаные глюки python-интерпретатора, когда дебаг просто не останавливается в нужном месте в коде. Забагованная хуйня. То же самое при тестировании - нормальный режим и дебаг по-разному работают с тестами, пиздец подстава.
Привет аноны. Я тут переписываю питоновский код на другой язык (на js), и вот на этом месте немного озадачился. Что это за синтаксис с условием посреди выражения и какова его функция?
>>1775300 Если тебе этот конкретный мини курс не дал, знаний на то, что ты хочешь сделать( бота,парсинг) то никак, ищи следующий прям берешь и пишешь, в поисковик, "Питон скрапинг сайтов" или "Питон бот для игр"
Поясните тупому. Вот я начал решать первую задачу с кодварс. Почему этот код не робит?
def likes(names): if len(names) is None: return print("no one likes this") if len(names) == 1: return print(f'{names[0]} likes this') if len(names) == 2: return print(f'{names[0]} and {names[-1]} like this') if len(names) == 3: return print(f'{names[0]}, {names[1]} and {names[-1]} like this') if len(names) > 3: return print(f'{names[0]}, {names[1]} and {len(names)-2} others like this')
return "no one likes this" if not len(names) else f'{names[0]} likes this' if len(names) == 1 else f'{names[0]} and {names[-1]} like this' if len(names) == 2 else f'{names[0]}, {names[1]} and {names[-1]} like this' if len(names) == 3 else f'{names[0]}, {names[1]} and {len(names)-2} others like this' if len(names) > 3 else None
Как вкатываться в петон с нуля? Джунил год на .net# пока не случился карантин и отдел не распустили. Опыт в общем-то есть, работал с несколькими фреймворками, но хочу войти гладко. В планах codecademy.
>>1775554 Вакансий по близости нет уже полгода, только интерны на 3 месяца и практика. А в дс/дс2 на 8 собесах я не смог добиться удаленки ну еще я хуйло, бтв. Зато на петоне каждый месяц по две-три всплывают и мне петон больше нравится.
>>1775557 Ну посокольку ты уже проработал годик в отличии от 80% этого треда погромистом,+ ты сказал что тебе питон нравится больше, то это уже точно не с нуля,так что просто выбери одно из направлений и развивайся в нем, правда как бы не получилось потом что с вакансиями будут проблемы из за того что петухон самый распиареный и популяризированый среди вкатышей, конечно у тебя есть опыт разработки, но как бы это не нивилировалось тем что ты хуйло
>>1775563 Я заказал пару книжек по машинному обучению, но уверенно себя не ощущаю, а самостоятельно только хуи пинаются. Поэтому хотел поэтапно. Да и первые, хорошо известные мне главы, очень быстро проскочат. Ладно, думаю cademy хватит, а там уже будет видно.
>>1775551 >.net# пока не случился карантин и отдел не распустили Кек. У нас шарпистов также отправили в свободное плаванье и заменили пистонистами и го-дрочерами
Челы, есть желание вкатить в питон. Бэкграунд - алгоритмы 0, с когнитивными способностями и вообще с башкой беда. Из околорелевантного опыта - рисовал парашу на флеше с небольшим говнокодом во фреймах в древние времена, еще до as3. Потом оказалось, что я могу сесть и немножко писать на js скриптоговно, ибо языки одной спецификации. Ну чем я и занимался последние лет 7-8. Плюс писал не на современном языке, а на устаревшей BPM с доисторическим движком, где 90% кода - это ее специфические функции и апи. В общем, даже из 1Сника червя-пидора программист лучше меня.
Посоветуйте книгу или онлайн ресурс для вката. А то в шапке много, а что выбрать не знаю. Желательно, чтобы доходчиво, с основами. Желательно, чтобы затрагивалось создание GUI. И будет особенно охуенно, если будет дано четкое понимание и применение ООП, а не на уровне "ыыы короче вот животные наследуем 4 лапы и хвост" или какой-нибудь ебалы с геометрическими фигурами.
>>1775576 >Бэкграунд - алгоритмы 0, с когнитивными способностями и вообще с башкой беда. Тогда ты по адресу. Я со своей колокольни могу посоветовать курсы JetBrains. Правда они вроде сейчас стали платными вроде как, так что хз. Курсы на Stepik ещё крутые. >>1775576 >И будет особенно охуенно, если будет дано четкое понимание и применение ООП, а не на уровне "ыыы короче вот животные наследуем 4 лапы и хвост" А хули тебе ещё надо то? Иди читай Эрика Мэтиза - Изучаем Питон. Мне понравилось, как он там с классами рассказал. Довольно большой кусок книги про них.
>>1775579 Ну платность не проблема, главное чтобы толк был. Я бы даже купил ноут и на очные пошел, пофиг. >читай Эрика Мэтиза - Изучаем Питон Спасибо, гляну.
>>1775563 >самый распиареный и популяризированый среди вкатышей Они повально идут в QA, некоторые особо упоротые в Data Science стажировку (но без мат бэкграунда). Если чел имеет опыт в бэке и не чухан, его таки возьмут Я вакансию джуна получил весьма быстро. На собесе поотвечал оперативно на вопросы и притащил проект, в котором настроил сервак на debian, nginx, gunicron с моей приложухой на джанго и postgres + немного фронта на бутстрапе и ванильном жс завез; вакансия была нихрена не на джанго но тем не менее мне уже на следующий день позвонили и сказали что берут (ДС2)
>>1775581 Очень мало видел кто в QA макаки вкатывается, конечно возможно так и есть, но они молчат и их не видно, а тех кого видно пытаются стать джангодибилами(без обид кого задевает, просто для меня это уже нарицательное)
В моём понимании если "Crated_At" и "Updated_At" равны, то ", обновлено:..." не должно выводиться. Но оно всегда выводится. Можно это как-то пофиксить? Судя по тому, что я нашёл, дзндзя и не в такое умеет, но не пойму, как.
>>1775586 >джангодибилами + Фреймворк не совсем уж говно. Свои задачи он решает, но вкатывальщики уж больно много уповают именно на него. Привыкают что там все out of box, а потом начинается "пацаны, а че химия БД не видит"? "а че шаблоны не рендерятся по дефолту"? и т.п. если че то да, начинал я тоже с джанго и пет-проект был на джанге
вот напейсал себе rest приложение flask celery redis как мне его правильно тестить через unittest, устанавливать соединение через setUp/Teardown, а потом чо ассертить, чет туплю нужна подсказка
>>1775618 ассерти response_code либо содержимое респонсов, хуле для тестов с БД селекти данные оттуда и проверяй на валидность (только блять не тести на основной БД, а создавай отдельную для тестов и стирай в конце тест-кейса)
>>1775621 >не тестить на боевой бд У нас был один гуру sql, который любил позапросить в боевой базе. Пока он еще работал, ему дба чуть пизды не дал, когда заебался килять его сессии с локами или шринкать транзакционный лог.
>>1775629 >for x in collection: Предусматривает, что у тебя уже есть коллекция объектов и ты что-то должен с ними сделать >async for x in collection тут коллекция - корутина, которая время от времени возвращает тебе значения, например, ты так можешь итерировать сообщения веб-сокета, которые будут поступать в эту коллекцию время от времени
Да, мне надоело бараном смотреть на простые практические задания если там естььхоть какая то комбинаторика, но эта книга похоже слишком жуткая да и python кода в ней похоже нет. Мне бы что попроще и с питоном
>>1775625 Это не возвращение чел, это вывод текста в стдаут, а само значение возвращается None сравни в интерпритатаре print("говно")==None?функция принт выведет текст в стандартный консольный вывод затем вернет ноне , а затем сверит и скажет что равно. Чел у тебя хотя бы пару месяцев изучения есть? мне кажется, что нет
Кракозяблики(мамины) очень нужна ваша сила знаний. Как гуглить о том как устроены стандартные и неочень функции внутри ? Я в инглише неоч. Например сейчас надо узнать как работает функция combinations которая from itertools
>>1775729 >второй год на питоне работаю >не знаю что такое возвращаемое значение Пиздец блять. ЖСеры просто сверхразумы по сравнению со средним питонистом
Наверно не совсем в тему, но посоветуйте какой-нибудь онлайн инструмент для хранения полезных скриптов, чтобы не проебать. Не проектов и файлов, а чисто небольших кусков, которые я мог бы найти по тегам и переиспользовать быстро. Т.е. написал полезную функцию, закинул туда и докинул тегов, чтобы быстро найти. Например "python, csv" и т.д.
>>1775834 govnokod.ru пойдёт? А если серьёзно, то для себя можешь приспособить github, pastebin и т.п., но для небольших огрызков будет удобнее в evernote или аналогах.
>>1773714 (OP) Всем привет Планирую запилить свою простенькую игру браузерную Примерно как травиан или икариам(ну типа строить город, он там сам по себе строится, развитие), но сильно на минималках, куда проще Цель не коммерция (ни в коем случае), а для души аноны отправили в тред js, подскажите, реально ли без особого гемора сделать это на питоне? Получается, что нужна серверная часть, на которой должны быть какие-то события, какой-то клиентский интерфейс, какая-то база данных, и все это должно взаимодействовать по сложным законам
Если реально, то есть какой-то пример такого взаимодействия, но с минимумом наворотов? Чтобы я подхватил основные вещи, но не запутался в деталях? Какой-то базовый образец для неофита, который хочет вкатиться на полщишечки для своих локальных целей На js не писал никогда, писал костыли на питоне
>>1775863 Предположу, что JavaScript Смысл в том, что нужно какое-то серверное приложение, которое будет доступно через браузер (собственно, браузерная игра), иметь какую-то оболочку, но при этом все действия будут осуществляться на сервере, и будут осуществляться даже когда ты не в браузере Например, здание строится 10 минут, и тебе не обязательно сидеть в браузере все время
>>1775844 Я видел твой пост вчера в другом треде Изучи сначала основы веба и передачи данных. Потом пограмминг трогай. Тебе в любом случае придется быть фуллстек типом: и фронт и бэк на тебе. Фронт будешь хуярить на жс, никуда не денешься, серверный код тоже можешь написать на жс (Ноде) но тут выбор шире, мне лично не нравится хуярить серверный код на ноде, простенькие и не очень API норм пилятся на этом самом пистоне: фласк или FastAPI бери
>>1775863 >>1775871 Скорее всего, при описании этого все решили, что js - это максимально подходящий язык под вот это все, и потому отправили туда Потому и спрашиваю про питон и возможность реализовать на нем
>>1775874 >Я видел твой пост вчера в другом треде Я не писал никаких постов вчера, я вебом не занимаюсь, этот скрипт общается вообще с апи определенного софта
>>1775874 Уже лучше Примерно понимаю, о чем ты Но со мной это так не работает, мне для понимания нужна конкретная задача, теория в моей голове без практики не задерживается больше пары часов Мне бы какой-никакой простенький проект подобной реализации: реализации серверной части на питоне уровня у меня есть сервер, и клиентской части на чем угодно, чтобы пускало на веб морду, чтобы была эта самая веб морда Необязательно как-то хитро изьебываться и искать ради ньюфага, просто плиз скажи некие теги, как правильно гуглить Да, прошу удочку, а не рыбу
И да, в твоём посте нет ни слова о базах данных В теории, можно же использовать некие текстовые файлы, куда закладывать определенные значения, это избавит от необходимости разбираться с бд Или это совсем уже костыль?
Напомню, что хочу сделать простенькую для себя игру (совсем для себя и круга друзей)
>>1775893 >теория в моей голове без практики В любом случае учишь фреймворк/либу через практику канешн Но для начала берутся книги "жс для чайников" и "питон для детей", потом что-то посложнее
Но вот тебе задачи для начала: 1. Реализуй локальный сервер для сохранения файлов, который принимает запросы на localhost:8887: GET / - возвращает json с метаданными всех сохраненных файлов (структуру json на свой вкус); GET /<file_id>/ - возвращает конкретный файл в бинарном виде по его /<file_id>/ POST / - принимает бинарный файл (через multipart-data или - не важно) и возвращает json с единственным полем - file_id, по нему можно найти этот файл DELETE /<file_id>/ - удаляет указанный файл с диска Для начала над аутентификацией или базой данных можешь и не париться
2. Реализуй в браузере на странице большую кнопку, при нажатии на которую запускается таймер на 5 секунд и визуально показывает юзеру сколько секунд осталось, за это время юзер должен нажать на одну из 3х появившихся внизу кнопок - он должен угадать за какой из них располагается приз (положенный туда случайно), если он нажал неверно либо время кончилось - он проиграл, иначе проигрывается сообщение и выигрыше, при каждом новом запуске "приз" располагается случайно за одной из кнопок. Код пишется в обычном main.js файле и вставляется внутрь твоей одинокой html-страницы
>>1775732 Шизик, какой return yield? У тебя там нет генератора для йилда. Тебе выше уже ответили, что тебе нужно убрать принты перед ретёрном. Либо, если тебе эта функция нужна только для этой хуйни, можешь вообще убрать ретёрн и оставить только принты.
>>1775902 Продвинутые варианты: 1. Добавить JWT-аутентификацию, анонимные юзеры не могут использовать апи. Запрос GET / возвращает все документы принадлежащие конкретному юзеру или группе юзеров (об этом - позже). В POST запросе добавляются поля: expires - время жизни документа в минутах, по прошествии документ будет стерт и недоступен, group (опционально) - если запостить док надо от имени группы а не конкретного юзера, если юзер не принадлежит к этой группе, то возвращается HTTP403. Фоном работает БД (пусть будет PostgreSQL) в которой хранятся данные о юзерах и данные о времени жизни документов, также работает демон Celery, который каждые N (на твой выбор) минут очищается "протухшие" файлы
2. Парадокс Монти-Холла (гугли). Вместо кнопок отображаются "двери", которые подсвечиваются при наведении. После выбора оператор (твой жс скрипт) открывает одну из свободных дверей и предлагает сменить дверь либо остаться на прежней, запускается новый таймер и юзер должен сделать выбор. По окончании выбора проигрывается короткий звуковой файл: один для победы, другой для поражения
>>1775916 Тестовых баз дохуя разной степени актуальности было, включая свежую на вчера. Да там чел просто не парился и отлаживал свои ебаные запросы t-sql прямо на бою, потому что считал, что он слишком охуенный, чтобы накосячить.
>>1775946 Читаешь первый том лутца последнего идзания попутно прогоняя все примеры,Читаешь второй том лутца последнего идзания попутно прогоняя все примеры !!!ВАЖНО: в случае электронной версии код необходимо набирать ручками!!! И через пол года можешь возвращаться снова с вопросом что делать дальше,
>>1775946 Нет ) 1) Я как бы не вкатывающийся, а уже исповедующий, правда в приличном обществе такие навыки, как у меня, не показывают. Люди уважаемые за такое здороваться перестают 2) Нет, рано убегать, пока не попробовал. Я даже скопировал почты анона, чтобы не проебались. >>1775902 По поводу второго - ну не знаю, как мне это пригодится в совсем костыльной версии А первое - да, похоже, нужно будет сделать что-то подобное
Такой вопрос: нашел python flask на просторах инета - оно мне не подойдёт? Мб в сторону этого посмотреть? Ну, чтобы сразу в бой броситься? Там вроде бы есть все вещи: авторизация, многопоточность, прикручивания баз данных, можно относительно легко html страницы вставлять, а в них уже джаваскрипт куда-нибудь засунуть
>>1775902 Давай ещё разок, на всякий случай: 1 - это некий аналог серверной части. Ее делать на питоне, верно? 2 - это аналог клиентской части, ее делать на js, верно?
Анон молю не посылай нахуй лучше помоги. Есть папка, в ней произвольное количество вложенных папок, а в папках лежат разные файлы. Нужно найти все txt и вывести на экран имена тех, в которых встречается фраза "Спасибо тебе мудрый анон"
>>1776212 вконце правда лучше просто файл распечатать, без абспафа, ну в целом примерно так, сам под себя подшлифуешь, а основной вектор развития я тебе задал
>>1776308 Да не это вообще ерунда какая то, я так то и сам могу чанками в одну строчку уложиться, но просто думал может есть какой-то метод запрятанный аля картинка.вес()
>>1776406 Да я честно признаться в вебмакакинг не собираюсь, мне просто для своей фигни надо, но не смотря на это я слабо могу асоциировать заголовки респонса, с тем что ты скинул
>>1776417 на HEAD имеет право не отвечать, так как CORS может блокировать запрос извне. Тем более, что фронт может сидеть на Node и заниматься отдачей контента html и динамики, а бэк будет уже логикой заниматься и в том числе файлами. Тупо конечно, но в жизни все бывает.
>>1776040 flask-а часто хватает, но если хочешь лучше производительности и асинхронности то FastAPI бери, это доведенный до ума Фласк (и документация там лучше)
>>1776114 Это изолированные отдельные серверная часть (1) и клиентская часть (2). В риал проекте канешн фронт (клиент) общается с апи хоста (с сервером) Но в 1 как он обозначен фронт не нужен, запросы тестятся через curl либо через Insomnia если ты больно сноб. В 2 бэк не нужен, все происходит на одной html-странице в браузере у юзера
>>1776494 Там не хватает все же или aiojobs или celery. Fire and forget на запись данных иногда хуево отрабатывает. Может только я с таким столкнулся, но просто лучше подстраховаться и хотя бы логировать в дебаг такие вещи. Потому что футур без возврата или хотя бы флага task_done это хуевая тема. Ладно если не очень важные задачи, но если лезть в ML с этим... Ну как бы можно проебаться на самом простом.
>>1776660 >aiojobs Если задумался об этом, то фласк или любой другой синхронный фреймворк точно не для твоих задач
>или celery Внезапно: берешь и ставишь. Порой требования на асинхронность можно преодолеть отложенными тасками. Но важные фетчи/запись данных в БД или обращения к сторонним апи тут не прокатят
Господа-петонисты, есть у вас фреймворк, который считается стандартом для пердоленья гуйни? Гуглятся всякие tkinter, wxpython, pyqt. Поясните, пожалуйста, вкратце, на что лучше всего обратить внимание и почему.
сап, двач. хочу начать изучать язык программирования Python, по факту я полный нолик в этой теме, прожженые кодеры, подобный план подходит для начала, как думаете?
>>1776709 Ну тогда бегом смотреть хауди хо , хоп-хоп-хоп-хоп-хоп-хоп, посмотришь его пайтон за 1 час и можешь уже отсылать свое резюме, правда если ты с москвы молю не ставь зарплату меньше 150к , не порть рынок
>>1776714 работа мне не совсем нужна, я хочу изучать для себя инфантильно и по-детски начинать изучать язык из-за этого, но я хочу в сторону написания эксплоитов, поиска уязвимостей и всё такое кринжово наверное звучит из уст нолика
>>1776716 Че ты пиздишь мне, черт галимый? Для белого хакинга как раз пистон самое то. Открою блять секрет: в любом случае ты будешь работать с АПИ твоей ОС, похер с помощью какого языка ты будешь делать эти запросы. Для сетевых запросов тем более С++ будет нужон когда захочет залезть внутрь исходного кода
Завидую выдержке и непробиваемости этого чувака. Он уже 4й пост на тему инжекции зависимостей выкладывает. Каждый раз его спрашивают, нахера он его замутил, и каждый раз он находит оправдания, не говоря уже о тонне кода
>>1776728 Это из той же серии, где чел всерьез написал статью как он юзал ардуину и даже что-то кодил, чтобы запитать с ее линейного стабилизатора малину.
Аноны, помогите дауну, прошу Короче нужно запустить скрипт обычным открытием файла в папке, но он блядь не хочет. Появляется какое-то окно, делает вид что пытается, но сука не хочет. При этом код ок, через компилятор запускается как часы. Умоляю, подскажите, как запустить скрипт ебучим двойным щелчком на файл?
>>1776852 Ну да, datetime. При записи значения в поля "создано" и "обновлено" тупо записывается текущее датавремя, а при обновлении - изменяется только одно из полей. Для дзиндзи что, это будут разные значения? И что мне, получается, нужно сначала как-то их "привести" к более другому типу (str? int?) и передать в дзиндзю отдельно? Звучит неочевидно...
Функция next_block Не могу понять, смысл выражения correct = correct[0] Этом я присваиваю переменной correct, которая ранее получила значение - строку, первый символ по указному индексу. ЗАЧЕМ?!!!11!1 Очень злит. Не могу продолжать из-за этого. Подскажите пожалуйста.
>>1776988 Внутри correct может лежать еще один список, с ним также можно будет сделать correct = correct[0] и т.д. разворачиваем так сказать Но в твоем случае мы просто получаем строку в файле из которой вычленяем первый символ
>>1776975 У тебя в user находится класс User, а тебе нужен экземпляр класса, ты сначала получи пользователя по мылу, а уж потом проверяй суперпользователь он или нет. >>1776988 Видимо на этой строке находится буква правильного ответа, вот эту букву и помещают в коррект, а потом выведет что-то уровня f"правильный ответ: вариант {correct}"
>>1777048 С postgres буде также? Там же не файлу коннектимся, а по хосту (localhost) и порту (5432). В Postgres к тому же надо коннектиться по юзернейму и пароль, да и коннектиться к определенной Базе по ее имени Я просто джангодаун бывший. Больно привык что можно указать 2 строчки в settings.py и прога сама все за тебя сделает, сейчас FastAPI и асинхронные БД пытаюсь подкачать.
Черт, как в пуйчарме найти первое определение класса/объекта?
Вот вижу я строку по типу: actor.parse_result(result) Как мне, щелкнув по actor, перейти к месту где этот объект был впервые инстанцирован? Если это не просто аргумент функции то он может быть определен вообще в другом модуле и порой лазить по исходному кода так утомительно
Аноны, недавно начал вкат, поясните плз. Первый пик задача. Пытался решить так: s = [int(i) for i in input().split()] s.sort() for x in s: if s.count(x) >1: print(x) while x in s: s.remove(x) Происходит такая ебанина (2 пик). Почему у меня цикл For стопорится на тройке, и не хочет ее прокручивать. Эта хуйня появилась, когда добавил цикл while, без цикла while прога не проходила проверку на вводы типа 1 1 1 1 1 2 2 2, когда вводишь много одинаковых.
>>1777390 Точно объяснить не смогу, но это явно из-за того, что ты изменяешь список в цикле. Скорее всего при каждом удалении смещается индекс, цикл запрашивает элемент из списка по индексу 4, а список говорит: "иди нахуй, у меня всего два элемента". Цикл с чувством выполненного долга и завершается, будучи уверенным что обошёл все элементы списка.
много чего же - можно хранить то, что уже вывел и не повторять - можно пройтись по списку и посчитать создав словарь "слово":количество (еще можно глянуть collections.Counter) - раз уж сортировано, то можно хранить текущий элемент и сабиндекс этого элемента (без лишних списков будет)
>>1777439 ну идея курса, который я прохожу - делать задачи последовательно после пройденного материаля, не залезая в знания, которые даются впереди. Короче словари и т.п. мне недоступно, только слайсинг, циклы while for, некоторые действия со списками и строками, операторы break continue и все.
>>1777439 Без удаления у меня получалась хуйня, т.е. вот допустим 1 1 1 1 1 2 2 2, мы посчитали кол-во s[0], их много, хорошо, единичку записываем, потом считаем кол-во s[1], это опять единички и их много, и получается, что опять пишем, хотя по условию надо именно 1 раз выписать повторяющиеся числа. Поэтому и решил ремувать повторяющиеся числа после того, как мы посчитали что этого числа много и выписали его.
>>1777448 d = dict() res = set() try: for x in [1, 2, 3, 4, 5, 4, 4, 3, 2]: if d.get(x, True): d[x] = False else: res.add(x) except MemoryError: print('Please, download more RAM!')
>>1777448 >Короче словари и т.п. мне недоступно, только слайсинг, циклы while for, некоторые действия со списками и строками, операторы break continue и все. Так тебе тоже нельзя?
>>1775734 Чел ты серьезно ? Разница в то что если ты возвращаешь, то ты можешь это значение прицепить к переменной или передать сразу куда-нибудь, а напечатать это просто кинуть в stdout, при этом возвращается None, то есть
>>1777601 можешь на ютубе поучится,Хирьянов например, или egoroff_channel , а если не можешь придумать че сделать, попробуй свои обычные задачи автоматизовать, тогда можешь прочитать книгу Автоматизация рутинных задач
>>1777917 Кстати писька ты видишь что там никакой ссылки ни на что нету ни на PIP ни на Хуип, читать нечего лишь пример с двоеточием внизу который хуй пойми что обозначает
>>1777996 Нет, не получен. Запрос приходит кусками. Сначала идет заголовок, отеуда можно получить статус и просие хедеры. Потом уже контент, и контент тоже может быть разбит на чанки и приходить порциями.
Можно ли пойти работать на фриланс питон разработчиком без опыта коммерческой разработки? Или роста профессионального нет, так как никто твой код не оценивает?
Снова я на связи. Подскажите плз. В курсе показывали только такую генерацию двумерного списка: a =[[0]* n for i in range (n)] a [[0 for j in range(n)] for i in range(n)]
А вот такую они дали задачу: (первый пик). Объясните пожалуйста, как мне сгенерировать эту изначальную матрицу например как в 1 случае 9 5 3 0 7 -1 -5 2 9 Все, на что меня хватило это (2 пик) создание матрицы забитой нулями, с кол-вом строк/столбцов равным нужному количеству и закинуть все введеные строки в один список, и теперь я планирую присваивать в матрицу из ноликов по очереди значения из этого одного большого списка со значениями, но я же не сумасшедший, я понимаю, что это ебанина, а не решение, даже если у меня в итоге получится. Короче подскажите, как лучше сгенерировать эту изначальную матрицу
>>1778173 etot glorious i veliki inglish oh my god, ti chto li ego koresh: >>1777917 напишешь так хоть на одном собесе, херка на пару с сеньором тебя зачморят и опустят
>>1778201 Я ж не к коду предъяву кидаю. Это бич многих вкатунов. Незнание инглиша в 2020 на позиции прогера означает бесконечное прозябание на задворке мира и технологий где-то между парашей и 1с разработкой
>>1778204 А, ну с английским я бы не сказал, что все плохо, например параллельно смотрю всякие видосы на html/css на английском и никаких проблем нет, ты из-за переменных доебался? Ну я просто для себя их так переназвал с безликих букв, когда путаться начал, можно было конечно row col их назвать или вообще просто в комментах пометки сделать, но это энивей фиксится за 10 секунд.
>>1778212 так весь мой вопрос блядь был в этом, как сделать инпут, который будет жрать строчки и преобразовывать их в матрицу более адекватно, чем сделал я.
>>1778222 Потому что input() возвращает строку, метод split() возвращает лист > Return Value > This method returns a list of lines. Если ты пошагово обучаешься, тебе же должны презентовать новые операторы/классы/методы с описанием что они делают и что возвращают. Смотри в официальной документации перед тем, как применять, если не понимаешь что-то.
А так пока мой погромисткий опыт = прочитал 150 страниц Эрика Мэтиса, так что вряд ли тебе смогу посоветовать как что-то правильно делать, лул.
>>1778219 >>1778229 Короче одно из двух, либо я совсем тупой (обидно будет, угу), либо курс говно, который херово объясняет (вариант, что я был невнимателен отметаю, т.к. проблемы похожие уже были, и я с тех пор не просто смотрю части с теорией, а конспектирую, выписывая все команды которые дают и некоторые примеры и объяснения). Базовые понятия пиздец бегло давались, кто что посоветует в плане других сурсов изучения? Чтобы нормально поясняли про методы, типы переменных и вот это все.
>>1778271 Я с телефона капчую, еще несколько дней до пеки будет не добраться вообще в aiohttp респонс даже и не так образуется: async with session.request(method="GET", url=url) as response:
Совсем обосанный ньюфаг в треде, я мимо проходил, вот в посте >>1777390 у анона в первой строке такой код s = [int(i) for i in input().split()] он мне вообще не особо понятен, поясните плз.
1. Мне казалось, что квадратные скобки в Питоне используются исключительно для lists, ну списков айтемов через запятую, а-ля fruits = ["apple", "banana", "cherry"]
А тут для чего они? Для того, чтобы возвращаемые командой int(i) for i in input().split() значения сразу попадали в один список? Или как?
Далее, везде в гайдах с циклом for я видел команды а-ля for x in range(6) например. А тут у антона еще какого-то хера int(i) перед for, я понимаю, что это int(i) - это типа перевод в тип данных integer переменной i, я просто не понимаю каким хером и зачем это присобачивается к циклу?
Всё тот же ньюфаг, объясните плз такой момент с методом __init__ Так мне понятно, что особый метод, который используется как конструктор классов, но далее вопрос.
Вот на первом пике типичный пример с обучающих сайтов, мне на нем всё ясно, вот в методе __init__ задаются атрибуты для будущих инстансов класса или, как их еще, насколько знаю, в других языках называют полями(fields), но в питоне принято называть атрибуты. Это что-то такое описательное, типа характеристики объекта, если это машина, то ее цвет или скорость например. Есть атрибут self, который может называться как угодно на самом деле, но в питоне принято опять же юзать self, по сути он связывает инстансы класса с самим классом, и вот в примере еще есть name, т.е. каждый новый инстанс класса при его создании должен будет иметь железно 1 атрибут, это как раз этот name, иначе питон пошлет нахуй. А, ну еще на примере у нас есть метод def say_hi, это мне тоже понятно, что классы кроме своих особых атрибутов могут иметь свои особые методы, которые, как и атрибуты, ты можешь создавать под командой class: и методы это типа скорее действия, что если брать пример с той же машиной, что это то что начала движение, например.
Какого хера под __init__ создается метод - self.__update(iterable)? Разве методы не задаются отдельными методами как на первом скрине с def say_hi, нахуя под __init__ пихать? В моей голове под __init__ вот вообще только привязка атрибутов идет, а-ля self.something = something
У меня еще разрыв шаблона от того что там зачем-то один атрибут класса приравнивается к пустому списку, зачем вообще. Ну типа наверное чтобы потом метод update наполнял этот список каждым айтемом из поля iterable при помощи метода append, ок, а это в свою очередь нахуй нужно?
А почему нет self.items_list = items_list, разве этого не должно быть?
>>1778409 Мне понятно как вызвать функцию или инстанс класса, это все же объекты тоже, через точку хуяришь там, ну и в круглых скобках аргументы/аттрибуты еще хуяришь.
>>1778414 ну да чичас фронтендер прйдет будет разбираться в твоем говне , и подстраивать шаблоны исходя из того что ты понаписал, По сути тебе динамически изменяемые данные в хтмле надо {{шаблоном}} обработать, но начальный статический хтмл должен откуда то взяться, а вот откуда он возьмется, тут уж хуй его знает, может с бутстрапа спизжен
>>1778415 self.__update(iterable) в конструкторе это вызов метода __update в том же классе. Вообще, ты как-то очень формально пытаешься понять классы, мол тут так должно быть, а тут эдак. На самом деле, класс это просто функция, имеющая внутри ещё определения функий = методов и отдельный скоуп, гуляющий через тот самый self. Можно сравнить с замыканиями https://ideone.com/VQGPjS
>>1778429 >self.__update(iterable) в конструкторе это вызов метода __update в том же классе.
Погоди, но ведь методы создаются через ключевое слово def внутри классов, а в примере с моего скрина def update идет ПОСЛЕ self.__update(iterable), и еще ниже __update присваивается update. Питон же выполняет код сверху вниз, как он может вызвать то чего для него еще нет? Как он может вызвать то, что определено/объявлено ниже, а не выше по коду?
>>1773714 (OP) Нахрена семафоры и локи используют в асинхроном программировании? Вон в asyncio есть свой asyncio.Lock(). Нахрена? Эти концепции ведь придуманы чтобы облегчить мультипоточное программирование, но в асинхронках ведь поток один
Подумываю через недельку залить резюме на хед хантер и хабр джобс, попытаться найти работу. Какие подводные камни и что стоит почитать чтобы не обосраться. Работаю в основном в Django. Знаю ещё Vue, JS, и немного СКУЭЛЯ.
Аноны, ай нид ёр хэлп. Есть один чат в телеге, хотел бы получить номера телефонов юзеров из него, какие есть варианты подхода? Понятно что, тот кто скрыл телефон от всех того я телефон не узнаю, но есть остальные которые телефон не прячут. Соц-инеженерия не считается. На данный момент нагуглил только старые статьи, которые уже не актуальны. Возможно, я задаю гуглу не верный вопрос.
Аноны, решаю задачу, объясните, почему в конце функции не работает присвоение l = b, вроде в теории говорилось, что когда содомируешь список в функции - это сохраняется, в отличии от обычной переменной с числом.
>>1778635 Решил уже другим способом (пикрил). Но все равно, ответьте плз, хочу узнать. И еше один момент:
>>1777390 ^вот тут я спрашивал про относительно похожую хуйню, т.е. я модифицировал список прямо во время прохода по нему, и мне тут сказали, что так делать не стоит (>>1777397>>1777416 ) Но вроде тут сама задача форсит такой хуйней заниматься? Или Можно как-то элегантнее?
>>1778657 Ну тут последовательно дается материал, и есть задачи, которые использовав какую-нибудь залупу типа map, или конструкцию типа print(*[....]) можно было бы решить в одну строку, и идея задачи как раз в том, чтобы юзать то, что есть.
>>1778645 ахаха и чего там нормального ? Нахуй тебе enumerate, ты прочитать через 1 элемент не можешь? Нахуй тебе удалять, если ты не читаешь то что не нужно? Молодца, пацана щас научишь как надо))
>>1778671 Плюс ты генерируешь новый список и заменяешь его (опять же, только в скоупе функции, придется ещё хуярить global для оригинала), тогда как требовалось мутировать оригинальный.
>>1778666 Ты хоть понимаешь что вообще делает твоя конструкция? Ты создал локальную переменную lst внутри твоей функции. lst извне не изменился, внезапно modify_list ничего не модифицирует
>>1778646 Чел, то что в квадратных скобочках оно сразу преобразовывается в список является просто сахаром для list((i for i in colections)), а так это генераторное выражение, тебе кстати тоже советую почитать про генераторы, но думаю ты забьешь на это дело и так и не поймешь ,что я написал думая зачем я кортеж в список преобразовываю, поэтому приложу картинку
>>1778641 Задача ничего не форсит, ты сам какую-то хуйню придумал. Во первых, есть itertools.groupby. Но да хуй с ним, давай попробуем решить используя только те примитивы что ты знаешь. У тебя список отсортирован - значит в нём лежат объекты, которые можно сравнивать и они лежат по возрастанию. Тогда можно хранить последний распечатанный и сравнивать следующий элемент с ним.
Что-то вроде такого (не проверял, сам отладь если тут где-то ошибка): lst.sort() last = None for i in range(0, len(lst) - 1): > if lst == lst[i+1] and (last is None or last < lst): >> last = lst >> print(last, end=' ') print()
lst.sort() last = None for i in range(0, len(lst) - 1): > if lst[ i ] == lst[i+1] and (last is None or last < lst[ i ]): >> last = lst[ i ] >> print(last, end=' ') print()
Какой есть нормальный способ сделать сортировку с разными уровнями? Например в sql можно написать order by 1,2,3 условно, и сортировка по следующему полю будет внутри сортировки предыдущего порядка. Как в питоне допустим лист из словарей так отсортировать? Только через вложенные циклы, или может либа какая есть, типа этих пандасов всяких? Или какой-то компаратор свой можно написать?
Нихуя не понял, почему эта задача лежит в секции курса про словари и множества. Предполагается, что где-то уже есть словарь, где все вычисления сделаны? тогда хули мне не дали его название. решение как во 2м пике офк не проходит по таймлимиту
>>1778797 Тебе русским языком написали, что твоя задача - только запоминать результат вычисления готовой функции, чтобы не вызывать ее лишний раз. Хранить можешь в тех структурах данных, на которые задача.
Вопрос для тупых: мне надо получить пользовательский ввод, пользователь вводит некоторое количество цифр, а потом нажимает Enter и все введенные им цифры должны быть выведены в списке. Проблема в том, что цифры накапливаются в списке в виде строк. Вот код:
list = [] while True: i = input("Enter a number: ") if i: number = int(i) list += i else: break print(list)
Пример вывода: Enter a number: 5 Enter a number: 6 Enter a number: 8 Enter a number: ['5', '6', '8']
>>1778802 Вообще смотря как пользователь вводит, если все цифры одной строкой: s = [int(i) for i in input().split()] а если разными, то добавляй к списку
Спасибо, сори, просто для меня неочевидно было, что обязательно в инпутах будут одинаковые числа (тот пример инпута, который дан с задачкой - всего один из 13, остальные от учащихся скрыты, мб чтобы не читерили)
>>1778812 >>1778811 Задачу надо сделать через while, дело в том, что я в коде уже преобразую ввод в int, но именно когда числа попадают в список, они снова становятся строками
>>1777609 Хороший вариант написать визуализацию какого-либо алгоритма. Или напиши несложный сайт, который бы решал какую-нибудь проблему твою или общечеловеческую.
>>1778818 Хуя ебанутые. В этом вся суть Питона. Это хороший язык, но не для старта, ибо такие вот Ваньки прочитают 20 страниц и начинают месить говно, потому что язык очень флексибл и не кидает ошибки.
Если не тупой, то можно и С++. Но я бы начал с Джавы. Я о том, что человек не зная основ лепит кучу говнокода, но из-за специфики языка, язык позволяет ему это делать не кидая ошибки.
>>1779039 Я другой челик, но тоже недавно начал вкатываться, недельку примерно, и прям чувствую, как творю хуйню на костылях для решения задачек, но язык мне позволяет ее творить. Если с него начинать, то наверное только с преподом, чтобы пиздил за хуйню в коде, особенно на первых этапах.
Вступил в ногами в жир непонимания пока не догнал что пренебрёг и подзабил на лекции по алгоритмам. Но возник вопросяндрий: есть у кого Контрольная работа №1 (и остальные), те ссылки все нерабочие уже. Не было ли схоронено Антуаном для предстоящих поколений ? Или к ним и не было доступа никогда ?
Чё, смотрю любите долбоёбов с элементарными ошибками? Ну, помогайте. Пытаюсь удалить из списка повторяющиеся элементы. Да, я знаю про множества, но вот хочу так. Представим, что я не хочу проебать порядок. код тут: https://repl.it/@Soyrates/111 Вот и скажите мне: почему такой результат? Я это всё затеял, чтобы посмотреть как for справится с проходом по всем элементам, когда они смещаются в ходе цикла. Но я видимо, слишком тупой чтобы понять из-за этого проблема или нет. По идее нет, ибо он не игнорирует никакие элементы при проверке условия повторяемости. В этом интерпретаторе дебага нет никакого, а другого у меня сейчас нет и не будет.
Допустим а = "10" b = 10 При попытке их сложить, выдаёт ошибку. Делаем так: а = int(a) Теперь обе переменные с типом данных int.
Есть текстовый файл, для игры "вкторина" Одна из строк, содержит уникальное число для каждого вопроса. Почему, при попытке преобразовать строку в int например так: points = int(points) НИЧЕГО НЕ ВЫХОДИТ!!1!? Подскажите пожалуйста.
>>1779447 >Почему Ну так посмотри что в points лежит, и преобразовывается ли это вообще в строку, может ты накосоебил. Алсо тебе интерпретатор английским по темному пишет что именно обосралось.
>>1779449 есть строка, значение которое изначально было равно целому числу, от 1 до 4. Значение из неё вытягивалось индексирование имя_строки[0] Я изменил эту строку в самом текстовом файле, просто дописав нужное мне число, например 5, без пробелов. Затем, создал переменную points и попытался присвоить ей это значение вот так: points = int(имя_строки[1:]) И получаю ошибку: ValueError: invalid literal for int() with base 10: При проведении экспериментов в шеле, такая конструкция работает. Если написать points = int(имя_строки[0:]) Я получаю целое число, значение которого соответствует только первому символу. Допустим у самой строки значение "150" я получаю только 1
>>1779476 сап мейлач в квартире жутко воняет говном, подскажите почему так? в туалете смываю, из вентиляции ничем не пахнет, из сифонов в раковине и ванне тоже с закрытыми окнами тоже
проблема решена, оказывается воняло из угла, куда я вчера насрал, когда лень было до туалета идти
гайз, такой вопрос, в пичарме делаю код типа: with open('хуйня.txt') as abc: >a = abc.read() for i in a: >print(i)
Короче когда запускаю такую хуйню, в консоли ничего не появляется, даже эрора, проходит какое-то время, и комп просто нахуй виснет, приходится жать резет. В текстовом файле просто 5 строчек уровня: 123 525 a b 24 i 444 71 i
Сап двач. Ударил молотком по пальцу. Палец распух и болит. Молоток покупал хороший, немецкий Wurth. Разве там не должна быть защита от дурака, чтобы при ударе по пальцу было не больно? Зачем я тогда покупал дорогой молоток? Не вижу тогда его плюсов.
Анон, предположим есть папка с файлами. Надо на каждой итерации загружать, например, 10 случайно выбранных. Причём в конечном счёте выбраны должны быть все файлы минимум один раз. Как такое сделать?
>>1779593 сделал абсолютно так же, создал файл хуйня тхт запиххнул в него твой 5строчный пример, скопипастил твой код запустил, в итоге распечатался каждый символ на новой строке в консоле , ничего не зависло, для теста запустил еще пару раз, все работает, ubuntu 20
>>1779654 >пока не выберешь все файлы. Тогда все файлы будут по 1 разу выбраны. В моём же случае допускается выбор 2 и более, главное чтобы все были использованы в конце концов.
>>1779657 Тогда выбираешь из изначального листа, а параллельно напихиваешь выбранные в сет Когда количество элементов в сете = количеству элементов в листе, довольно урчишь
>>1779657 были=[] небыли=[os.listdir] while небыли !=0: __файл=random,choise[были+небыли]) __if файл not in были: ____Были.append(файл) ____Небыли.pop(небыли.index(файл))
>>1779651 А хули ты бездумно копипастишь, пёс? abc.readlines(). Тогда файл будет построчно читать. У тебя будет список строк. Смешные вы вкатыши. Конкуренция будет только на галерах, мхех
>>1779699 ебать ты конч)), впорос стоял почему компу пизда при конкретно таких действиях, ну я и прогнал у себя его код чтобы было понятно что проблемы только у него, ты бы хоть удосужился разобраться в вопросе прежде чем гнать)
>>1779751 Код и текстовый документ вот ----> >>1779577 запуск в пачарме,там либо вверху справа зелененькую стрелочку нажимаешь(не путать с зелененьким жучком) либо контрол шифт ф 10(по умолчанию)
Мой ответ 99 не принимается из-за ебанин, выделенных красным кружком? Т.е. мне теперь надо пройтись по списку и вычистить оттуда это говно, или можно как-то поэлегантнее?
>>1779040 Типа того. Главная проблема в том, что эти ошибки кода станут частью твоего уровня кодинга и в лонг ране ты всасешь капитально. Это как всю жизнь писать левой рукой, а потом переучиваться.
>>1779889 Короче, я сделал колхознее (1 пик), но тоже получил 50. Степик говорит, что это неверно (и это действительно неверно, 2 пик). Не пойму, почему считает не так.
>>1779899 >(и это действительно неверно, 2 пик) А сколько будет строк, если развернуть на полный экран? кек Если вопрос в этом, то тогда нужно разбивать файл по \n, соответсвенно там и будет новая строчка.
>>1773714 (OP) Разгребаю небольшое легаси гавно на 2.7 с форматирование строк
Суть в том что есть набор системных сообщений в духе: "Пользователь {0} зашел в чат {1}" Которые переводятся в юникод и после форматируются через метод .format() Косяк в том что иногда аргументы могут передаваться не так как надо: скажем в примере выше будет передан лишь 1 аргумент или сразу 4 вместо 2. Как определить сколько аргументов для форматирования содержится в такой строке, прежде чем метод .format будет заюзан?
>>1780040 Ну можно подкрутить под возможные варианты. А более питонистый вариант это наверное пробовать и ловить эксепшн, я пока так и не привык к такому подходу.
Петян, как связать два словаря в одну структуру? Понимаю, что, возможно, совсем уебанский вопрос, и на пистоне вообще о такой хуйне думать не стоит, ибо компьютеры быстрые и вся хуйня, НО
задумался я о двухнаправленной хештаблице. чтобы блять можно было за O(1) выцеплять значения по ключу, но и по значению за O(1) ловить ключи. ничего, кроме ведения параллельно двух словарей я не могу сходу придумать.
>>1780123 самого главного не написал. n-m отношения. в первом словаре А ключи условно уникальные, к каждому ключу могут относиться несколько значений. знаю, знаю, по правде значение только одно, и это будет просто список, но я за значения принимаю элементы этого списка. короче, упрощённо что-то такое:
A = {a_key : [a_val_1, a_val_2], b_key : [b_val_1]}
ну и теперь надо будет ещё вести второй словарь уже без вложений:
Где посмотреть примеры грамотно написанных и реализованных проектов (паттерны, антипаттерны, и т.д.)? Смотрел youtube-dl, но вроде там ничего особенного и нет. Сам крестун давно уж, поднять основы языка вообще абсолютно труда не составило.
На глубене рекурсий factors = [2, 5], перед командой return по условию, print(factors) выдаёт эти [2, 5] но следующая за ней команда return factors выдаёт None - почему так ???
На глубене рекурсий factors = [2, 5], перед командой return по условию, print(factors) выдаёт эти [2, 5] но следующая за ней команда return factors выдаёт None - почему так ???
На последней итерации рекурсии переменная factors = [2, 5], перед командой return - print(factors) выдаёт эти [2, 5] но следующая за ней команда return factors выдаёт None - почему так ???
>>1780248 Работает но в чём разница ? Если я смотрю через Дебагер работает так же ? Так же сначала вглубь лезет потом обратно выныривает. Вообще то же самое же ?
Работает но в чём разница ? Если я смотрю через Дебагер работает так же * Так же сначала вглубь лезет потом обратно выныривает. Вообще то же самое же ?
>>1780255 Потому что рекурсия идет в глубину, а доходя до простейшего случая возвращает результат. У тебя максимальная глубина возвращает результат, а дальше по цепочке назад уже нет.
>>1780268 А то есть если не возвращать рекурсию она при возврате возвращает свои локальные переменные ? То есть я делаю то же самое но задом наперёд и получаю то с чего начинал так что ли ?
Как в pycharm работать с крупными проектами, где ебалион модулей и в каждом модуле ебалион классов? Есть какие-то фишки чтоб облегчит ьсебе навигацию? Знаю пока только что через ctrl+B можно перейти к первому объявлению переменной
Анусы, возникла потребность в дистанционном отключении скрипта. Слышал, что можно поставить крутиться какой то веб сервер и в случае надобности вырубать его, только я в этом нихуя не знаю. Есть что то на эту тему?
Кто еще молодой, но чувствует, что соснет в айти - идите в аэрофлот в бортпроводники. Серьезно, охуенная тема. Стажировка с небольшой стипендией. Потом зарплата нормальная вообще без каких-либо навыков, если налет нормальный. Плюс, можно привозить на заказ всякие штуки, типа заграничного бухла. Контрабанду айфонов и наркоты предложат прямо там, решаться ли и на что именно - решать вам. Любые расходники вроде жратвы на борту, напитков, и прочих перекусов можно забирать с собой, это не возбраняется. Кто-то умудряется даже пиздить влажные салфетки и одноразовую посуду. Когда большой гэп между прямым и обратным рейсом, вас селят в отель. Часто есть время прогуляться по городу, посмотреть зоопарк какой местный - очень круто и практически ничего тебе не стоит. Если вы девка, то еще за красивые глаза с сиськами чаевые будут давать иностранцы. У аэрофлота свои неплохие клиники, куча льгот вроде билетов за бесценок для себя и родственников, отпуск 2 месяца в год. Я не шучу сейчас, кто хотел перебраться в тот же ДС, но вы не очень умны для кодинга - это идеальный вариант для вас, если по здоровью подходите.
>>1780421 >можно привозить на заказ всякие штуки, типа заграничного бухла. Контрабанду айфонов и наркоты предложат Сразу задам ключевой вопрос: сколько лет дадут?
>Любые расходники вроде жратвы на борту, напитков, и прочих перекусов можно забирать с собой, это не возбраняется Напомнило пасту про сборы в армию: https://pastach.ru/p/2
>Часто есть время прогуляться по городу Как правило этого времени нет, кек. И большие гэпы тоже редкость
Как вкатиться в Джанго? Оф.документация скорее отпугивает, нежели манит. Есть ли какие-нибудь курсы на торрентах и т.д. с хорошей практикой и низким порогом?
аноны, поясните такой момент. Вот я открыл простой текстовый файл через with open.... бла-бла присвоил переменной значение открытого с методом(функцией? путаюсю в терминах) .read теперь у меня в переменной а лежит какая-то строка я делаю a+='supdvach' дальше пишу with open ('otvet.txt', 'w') as ouf: >ouf.write(a)
Так вот, почему в файле получается не abrakadabrasupdvach, а abrakadabra supdvach откуда этот перенос строки берется, он же по умолчанию только в принт встроен, или как это работает.
Кто нибудь так делает? os.chdir(file) if os.path.exists(file) else(os.mkdir(file), os.chdir(file)) На сколько лаконично смотрится? или все же понятнее столбиком?
>>1780589 Спасибо огромное. Правда выяснилось, что операции, которые надо было сделать с файлом нихуя не правильные, но записывать начало правильно, уже что-то
>>1780595 Недавно смотрел "хак" где чувак в проекте написал что-то вроде def some_function(value, args=None, kwargs=None): ----if len(args): ...
Оказывается это был хитрый план, если args==None, то есть его не изменили, то выскочит эксепшн, который будет обрабатываться внешним блоком try/except, только вот хер ты это поймешь сходу. Явное лучше неявного и над такими участками порой бьешься головой о стену
>>1778828 >Ну так список со строкой вообще-то складываются, а у меня числа надо в список сохранять Это вот этим кодом >>1778818 ? Мдя. Ты на третьей строке получаешь строку и сохраняешь её в i. Потом на 5й строке превращаешь её в число и сохраняешь число в number. А потом добавляешь к list'у i. Что сохранено в i? Строка, ты её в i запихнул на третьей строке кода и она там и осталась! А в number ты так и не использовал. >>1779006 >такие вот Ваньки прочитают 20 страниц и начинают месить говно Справедливости ради, я начинал на языке с куда более строгой типизацией - Pascal - и я сейчас понимаю, что в самом начале я много чудил, пока не разобрался. Хотя, наверное, да, в Паскале я бы сразу получил граблями и попытался бы лучше понять, что не так... Но вот с высоты универа + 10 лет в админстве (а любой админ всегда умеет кодить на паре языков и читает любой неэзотерический код из понятной ему предметной области) могу сказать, что от Пайтона я в восторге: в отличии ото всех ЯПов, с которыми я имел дело у меня не было вопросов типа "какого лешего он не делает то, что я попросил?", пистон всегда делал то, что я от него просил так, как я просил. Я тут недавно нашёл один свой университетский прожект... И переписал его с Delphi на Python (правда, без гуя), поражаясь своей давишней жопорукости. С полутора тысяч строк говнокода до полутора сотен строк лаконичного решения полностью повторившего логику оригинала.
>>1780521 У них там async views появились, читай доки свежие. Интересно сколько они еще будут копротивляться и не начнут пиздить наработки из асинхронных фреймворков и наконец-то убьют templates. Сколько можно насиловать шаблоны и формы?
>>1779166 >Пытаюсь удалить из списка повторяющиеся элементы. a=list('aaaaaaaaassssssssssddddddddddd') a=list(set(a)) >я знаю про множества Ну да, я просто поржать. В универе была задачка на PureC написать прогу для первода между разными системами счисления типа "из двоичной в восьмеричную" и т.п., которую некоторые решали в две строки, вида "выведи число в такой-то системе", что преподшу не удовлетворило и им тоже пришлось вступать в отношения с настоящим кодом.
>>1780716 >. Интересно сколько они еще будут копротивляться и не начнут пиздить наработки из асинхронных фреймворков Ну так посмотри роадмап их, они все на асинхронщину переписывают постепенно, приходи через год-полтора
>>1780717 >>1780719 Например неблокируемое логирование, отправка через SMTP, запись в БД (при том любую). А так питон медленнее Го и не нужен. Только формошлепать.
>>1779834 Палю лайфхак, сам пользуюсь: у компов либо оставляю хостнейм по дефолту, либо пишу "PC"/"Notebook"/etc, пользователя всюду зову "User", реже - "Admin" и вообще не парюсь, что что-то кто-то увидит. мимо однажды спалил логин с рабочего ПК с фамилией и инициалами, но никто, вроде, не заметил
>>1780674 Знаешь, Паскаль я учил ещё до того, как ты в школу пошёл, тогда это был язык по-умолчанию для вкатывальщиков. Но даже если бы это было не так, знаешь с какой скоростью я кручу на хую мнение быдланов насчёт илитности языков? У меня почти все (кроме скриптов) прикладные программы по работе на Delphi или Lazarus потому что всё, что мне от них нужно, это чтобы было легко написать, легко прочитать через пару лет и чтобы они РАБОТАЛИ. И FPC в частности с этим прекрасно справляется.
Тут случилась забавная ситуация из-за недопонимания, я прочитал Лутца, хвалился даже в треде, что все понял. Но Лутц у вас на ядиске в 2 томах, а я читал в одном и продолжения нет. Открыл в 2 томах, Лутц о какой-то ебанине пишет, а в моей книге об основах (до метаклассов). Книга называется Изучаем Python М.Лутц. Вопрос: о каком Лутце вы речь ведёте в рекомендациях?
>>1780849 Ну, зачем сразу обзываться, вот книга, которую я читал. А у вас на ядиске валяется 2 тома "программируем на Python" Лутца. Что из этого надо читать?
>>1780776 Все бы ничего, но ГО это вырвиглазная поделка без ООПа (даже без его иммитации). Крупный поддерживаемый проект на бэке без ООПа не написать. Го не конкурент Жабе и Котлину
>>1780876 Залей на свой Яндекс-диск с публичным доступом. Даже если перекатчик не закинет твою ссылку мгновенно, потом это таки сделают (зависит еще и от качества твоего контента)
>>1780767 >В универе была задачка на PureC написать прогу для первода между разными системами счисления типа "из двоичной в восьмеричную" и т.п. В питоне это пол строки вообще, просто int.