Это копия, сохраненная 3 марта 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Предыдущий: >>1762623 (OP)
Литература:
https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem
Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить
https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться
#######################################
ЧаВо: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat Актуальность примерно 2015 года
Вопросы-ответы:
— А стоит ли читать Лутца, том номер N?
Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем — решать тебе, книга вредна не будет, но ты можешь её просто не дочитать и забросить.
— Стоит ли читать %книга_нейм%, если там питон версии 2.х?
Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х
— А что ещё можно читать?
Питон сам по себе очень хорошо задокументирован и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html
— Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги.
МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0
— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом?
Очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4[РАСКРЫТЬ]
— А как учить джангу? Нахожу только книги по джанге 1.х
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой из официальной документации.
— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать
Вот, пожалуйста, та же самая программа, но переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)
— Можно ли на питоне делать мобильные приложения?
Да, смотри на фреймворк Kivy https://en.wikipedia.org/wiki/Kivy_(framework) https://kivy.readthedocs.io но народ на него жалуется
— Как можно без лишней возни ускорить программу на питоне
1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь.
2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.
— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём
Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
Пока самым перспективным вариантом вижу ГО, т.к. вакансии часто требуют знать два этих языка для переписывания с питона на го. Есть тут перекатившиеся таким образом?
Потому что есть задачи, хорошо ложащиеся на рекурсию. Например, обход дерева директорий.
нагуглил viola и как ее в docker запускать.
Но мне для быстрой разработки удобнее было бы на винде.
Как ее на винде запускать?
про nteract тоже нагуглил, но это чистый десктоп.
Не пизди. Видел вакансию вместо тебя. Взяли какого-то чувака с 3 курса и он пишет лучше тебя.
Насмехаться над джангохолопами, конечно.
Пиздос, анон. 3 месяца уже сижу, ищу РАБоту. Шутка ли, я оффер из гейропы быстрее получил, чем тут устроился джуном, лол.
Ты нулевый просто. Даже твой "опыт" и то гавно судя по всему, раз не берут
Я получил оффер на джуна спустя 2 недели после публикации резюме (через неделю сделал одно из тестовых (около 2 дней делал), а еще через неделю прошел собес)
Я вообще другой анон, не тот который про ГО спрашивает. Много собезов проходил и везде говорили, что всё заебись, но в итоге постоянно срывалось. Последний технический собез прошёл вообще замечательно, но вот хуй знает, как-то не берут и всё.
Видимо ты какой-то "не от мира сего". Умение общаться и т.п. тоже играет роль. Может как программист ты и хороший, но видимо просто не умеешь в социум.
>>73997
Да хрен его знает. Мы и поговорили довольно хорошо. Первая часть последнего технического собеза по большому счёту и была про софт скиллы. Для полной картины оставалось только пивас принести и за ним обговорить что-нибудь на злобу дня, лол.
Мне кажется у меня какой-то фундаментальный косяк в знаниях, когда я с умным видом несу хуйню, а мне из-за неё отказывают. Грустно короче.
Вся веб-дрисня, изначально заложенная в пхп уже давно выпилена или легаси. Сейчас это язык общего назначения с отдельными фреймворками под веб, точно так же как питон. И в чем же критическая разница, на чем писать?
Если с социумом все в порядке, но не можешь найти работу в офисе, так почему бы попробуешь вкатиться во фриланс? Надеюсь, что с инглишем все в порядке.
Да.
На самом деле я лоханулся.
есть пакет voila и viola.
Мне была нужна voila, которая ВУАЛЯ.
Все работает.
Нет, лучше саморезы молотком забивать, потом что ты же не предлагаешь купить + ещё один инструмент?
Хотя, позиция ясна и имеет право на жизнь.
а копировать код у датасатанистов, которые на самом деле пиздят его в других местах, я как должен?
С хуя ли невозможно? У меня как минимум один знакомый есть, который уже полгода как в upwork нашел работу по контракту, месячная зарплата 2600 долларов. Очень даже неплохие деньги.
Алсо, как в Django вкатился? Тоже вот думаю начать. Может посоветуешь чего.
А мы хотим копировать.
Хотим делать волшебные манипуляции с данными в pandas с скоростью Си.
Хотим расхуячивать json-ы как мы привыкли.
Хотим гуглить стандартные для питона, но нестандартные для php ответы в stackoverflow.
И тд и тп.
.
from chinase import sort
.
result = await sort.images(imgs, classes)
.
И китайцы где-то в подвалах вручную тебе сортируют картинки (как пример) за копейки.
Есть такой фреймворк уже, нет?
>Зачем питон лезет в Веб, если для этого давно и успешно есть php?
А зачем джаваскриптомакаки придумали свою ноду? Чтобы не учить лишний язык и лепить свое дерьмо везде. Субд свою только блять осталось написать с запросами на своей хуйне.
Это называется image embedding - использование готовой нейросети, без финального слоя.
Заранее натренированная крутыми компаниями нейросеть выдает набор чисел и у похожих картинок близкие числа в n-мерном пространстве.
Только вот n ~= 2048 и как ты будешь сортировать - хуй знает.
А так,да. Такой фреймворк есть.
А смысл? в амазоне ничего дешевого нет. Мамку и сестру твою посадить сортировать котиков дешевле будет.
окей, ты наверное хотел узнать, почему питон, не будучи языком для дрысни и CRUD, лезет в нишу, где дрысню и CRUD пишут обычно на PHP ?
Ну так нам помимо сложных задач, нужно же на чем-то писать дрысню и CRUD. Зачем второго программера нанимать?
Покажи нормальные реализации ORM на PHP.
Ты бугуртишь, что у тебя хлеб отнимают что ли?
А еще веб сервисы на Go, RoR, Java пишут иди у них поной.
Python в плане фреймов не тянет за собой джунгли говна, в этом плане Go еще практичнее, но и пердолинга больше.
К тому же на питоне удобнее (не лучше) оформлять несвязанные данные и выдавать удобночитаемые данные для человека из-за своих нативных типов, в пэхе это адъ.
берешь и ставишь. Во многих дистрибутивах про 2.7 уже забыли и перекатились на 3.6(легаси) и 3.8.
Инфа... ну читай про venv\pipenv.
Но ты объебешься на самом деле. 3.6 может не запуститься с 3.8 из-за синтаксиса и наоборот. 3.7 туда же.
И это моветон какой-то. Ладно если на галере легаси, а если с нуля, то нахера таким заниматься? В системе может быть куча интерпретаторов и этим может Conda заняться.
Типа, если смотреть в будущее, то это задачи типа "сходить туда-то, сделать то-то в реале"
я не вижу тут никакой автоматизации. Ты нам из Долины пишешь где 90% венчурного финансирование не жалко слить в Амазон?
Берешь и даешь объяву на yoodoo. На Яндекс Толоке.
20% денег amazon себе берет за эту хуйню. За веб-интерфейс и по сути за нихуя.
>20% денег amazon себе берет за эту хуйню. За веб-интерфейс и по сути за нихуя.
Ну так ты больше потратишь пока сам найдешь эту тысячу китайцев.
super(TimeoutHandler, self).prepare()
если можно писать так:
super().prepare()
Эффект один и тот же жи. Только лишний код плодить
for i in range(0, 10000, x):
print(i)
x = x * 10
Как менять переменную внутри range ??
>range(0, 10000, x)
На этом моменте ты уже инициализировал генератор кек. Поэтому твои потуги с x = x * 10 идут в никуда. Я догадываюсь что ты хочешь сделать, но для этого надо написать свой собственный генератор (не так уж и сложно), либо хуярить инкерменты через while
Ты не понял. Например, в программе я парсю сайт погоды, затем в зависимости от погоды вызываю тот или иной метод библиотеки, в котором вкратце описываю разные варианты того, что нужно сделать (полить помидоры, привезти зонт, позвонить по номеру и спросить васю, да что угодно). Всё, скрипт вертится на серваке и ничего больше елдать не нужно.
Можно так например пошаговую стратегию замутить из реальных людей и другие приколы.
Понятно, что это дорого, но я и не говорю, что общество уже готово к такому, тем более у нас. В программировании вообще вопрос денег вторичен, когда речь заходит о новых технологиях.
Кто платит тиктокерам за ту хуйню, что их заставляют делать? Однако, они делают и даже по собственной воле.
Программирование уже пока нахуй не нужное, интерфейс нужон, заебло руками всё делать да в дисплеи каждый раз пялится. Разницы нет в окно помотреть погоду или в моник, один хуй долго. Так что макаки вы пока из пустого в порожнее погоняйте да подождите пока умные люди родятся и за вас вё сделають
Анон, подскажи с решением правильным подходом при решении задачи:
На работе дали задание, отсортировать два списка по номерам.
У меня есть две идеи, как лучше всего это сделать: отсортировать получившуюся таблицу (т.е. преобразовать её в список) и уже дальше распарсить номера и отсортировать или же до формирования таблицы начать сортировать, когда она только строится.
Что лучше?
>Так-то у питона много говнокода понаписано, а мы называем это библиотеками гыгы
>А эти ваши плюсы ебаные-непонятные с войдами какими-то это нам не надо всё. СЛОЖНА СЛОЖНА 3D моделирование какое-то, какие-то векторы, блять, ещё и математику нужно считать, потому что подразумевается, что для использования C++ библиотек ты должен знать её. Ну нахуй в общем. ДАЙТЕ МНЕ КОСТЫЛЬ, ХОЧУ КОСТЫЛИТЬ
вся суть питона as is
Зачем нужно что-то кроме ассемблера - вообще не понятно. Сами себе жизнь усложняют всякими языками. Да и от компьютеров, в целом, отказаться можно, от этих костылей лектрических. Мозги человеку на что?
Ну так пиши на Плюсах. Кто мешает-то?
>А эти ваши плюсы ебаные-непонятные с войдами какими-то
Очнись, Мань, высокопроизводительные либы питона (numpy, numba, FastAPI) написаны на плюсах частично либо целиком
чудес не бывает.
Все что ты можешь купить - это разметку датасета.
файлы и типовой интерфейс.
На Авито объявления давай, если тебе так уж захотелось.
Списки в чем? Тебе обязательно дерьмокодить, нельзя просто в экселе или чем-то таком отсортировать?
Нет. Из джиры запрашиваются задачи и только после получения можно как-то фильтровать.
В теории, возможно у Джиры запросить уже отсортированные...
Не надо ничего парсить в циклах и xml.
Погрузись в pandas, пусть тебе включат апи и наверняка все легко и красиво обработается
https://community.atlassian.com/t5/Marketplace-Apps-Integrations/How-to-export-issues-as-a-csv-file/qaq-p/315695
JIRA Command Line Interface produces a csv file with the getIssueList action.
Потому что ты возвращаешь None (неявно). Что не ясного? Посмотри что возвращает твоя thirst
попробуй return recurs(n)
В пайчарме есть дебагер. Он тебе поможет, дружок-пирожок.
Ну смари малёк, ты сам с какого города ? Хуй сосёшь ? Бочку делаешь ?
>codewars
Нахуя им класс в классе? Они ебанутые? Никакого применения в этом нет практического.
Сайт где школьники пишут задачки по програмированию(различные вариации проэкта эйлера) и другие школьники их решают, в достаточно неплохом интерфейсе для веба
Ааааа, это уже моя методика (супертехника) была, что бы удобнее в сторонней IDLE было писать а потом туда копипастьть на сайт codewars. Но я сейчас сделою нормально спасибо что ткнул носом в этот очевидный покак.
О спасибо за Эйлера посмотрим что такое а то надо как то практиковаться пока уроки программирования на ютубчике смотришь.
мимо 35летний школьник-самоучка
Ну лично я между эйлером и кодварсом выбрал бы второе, там прикольно на самом деле , есть система уровней за каждую задачку дают опыт, ну и вообще преобретает некий игровой процесс. Задачи можно сортировать по типам(работа с масивами или со строками, алгоритмы или фундоментальное что-то) и по сложности. ну еще показывает решил ли ты задачу или нет, в то время как
ответы эйлера надо гуглить и сравнивать со своим ответом Единственный минус это то что на английском(хотя как посмотреть), в крайнем случае можно воспользоваться встроенным в браузер переводчиком страниц если с хрома
Как-то по жабаскрипту решал там всякую хуйню.
"Лучшее" решение очень часто - просто конструкция в 1 строчку из ДЕСЯТКОВ НАХУЙ map/reduce/every/filter и прочих стрелочных функций.
Долбоебы восторгаются "ох как пиздато и кратко написано, респектос".
А нормальное читабельное решение, которое еще и выполняется быстрее, тонет.
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"]))
То есть мне приходится костылить и создавать новые объекты.
По-моему, под это был какой-то специальный метод, но я забыл. Надо посмотреть.
Слышал про него, но не разбирался, да и не особо хочется если честно, поэтому ничего не скажу, сам я редко пишу что-то сложнее парсера медиаматериалов с интернетов, поэтому не вижу смысла для себя лично в алгоритмы вдалбливаться, разве что побаловаться
slovar={"name":"Jencent","doljnost":"лох"}
text = f"Хей, тупой {slovar['name'] опять обосрался, ведь он slovar['doljnost']!"
f-string c 3.7 точно есть.
fstring
5ка
Не особо понимаю суть вопроса,что значит тренироваться в питоне? создавать объекты, переменные и изменять их значения колдоябя их туда сюда? Если да то тогда создавай обьекты, переменные и колдоебь их туда сюда. И смотри как оно работает.
Ты бы лучше чего поконкретней спросил, как практиковаться в веб разработке, как практиковаться в автоматизации, как практиковаться скрапинге, как практиковаться в в создании ботов для телеграм/дискорд как практиковаться в РазличнаяОбластьНейм
Но в интренете на это и так есть куча гайдов, из разряда посмотрел повторил, по возможности запомнил
Причем я еще не особо понял вот это >>75094
я же не запрещал пользоваться леткодами, просто сказал что я о нем ничего сказать не могу, и еще уточнил что лично для СЕБЯ не вижу смысла, не то чтобы мне алгоритмы были не нужны, но мне достаточно того что я уже знаю, а машин лернингом заниматься и датой в планах у меня нет
https://www.codewars.com/kata/534e01fbbb17187c7e0000c6
https://www.codewars.com/kata/51c8e37cee245da6b40000bd
https://www.codewars.com/kata/5254ca2719453dcc0b00027d
https://www.codewars.com/kata/5263c6999e0f40dee200059d
https://www.codewars.com/kata/55f89832ac9a66518f000118
https://www.codewars.com/kata/51b66044bce5799a7f000003
https://www.codewars.com/kata/58c5577d61aefcf3ff000081
https://www.codewars.com/kata/525c7c5ab6aecef16e0001a5
Да но как после мини курса в Ютубе начать делать что то рабочее ? По типу бота для игры или парсинга что ни будь типо этого ? Как соеденить python и реальный так сказать мир ? С чего начать ?
Особенно доставила вот эта:
https://www.codewars.com/kata/52f831fa9d332c6591000511
Пиздец - 5 кю у неё, потому что какой то четырёхглазый пидорас-задрот подумал типа она слишком лёгкая. Я ебал - третьи кю есть легче.
Ну а вообще я сразу пропускаю все вида "решается просто, но будет ограничение по времени хи-хи", тк это всё от додиков, которые прошли алгоритм на парах и его закидывают имплементацию на codewars. Я не кодер - мне особо не надо
На сегодня побеждает PyCharm, и вот почему: вначале я на нем плотно сидел, каждый день. А то и несколько раз в день. Потом мне посоветовали vscode, и я пересел на это дерьмо. Оперативы жрет меньше, бесплатно. Но на этом плюсы заканчиваются, друзья. Обнаружил 3 весомых минуса, которые заставили меня вернуться в PyCharm:
1. Неудобное дерево файлов. Да, за пол года я так и не смог к нему привыкнуть. Кручу-верчу колесико в поиске нужного файла. Ужасно раздражает.
2. Опять из темы удобства - если открыто более 10 файлов, легко забываешь, в каком только что был и опять поиск нужного файла - а заебывает.
3. Ебаные глюки python-интерпретатора, когда дебаг просто не останавливается в нужном месте в коде. Забагованная хуйня. То же самое при тестировании - нормальный режим и дебаг по-разному работают с тестами, пиздец подстава.
Нет. Я узнал об этой хуйне недавно. Похоже нельзя пропускать сильно много апдейтов
Если тебе этот конкретный мини курс не дал, знаний на то, что ты хочешь сделать( бота,парсинг) то никак, ищи следующий прям берешь и пишешь, в поисковик, "Питон скрапинг сайтов" или "Питон бот для игр"
пиздец ты душный)
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')
Может еще и Фласк? Не уверен. Потому что наплодили обезьян.
Ботов сейчас делают на платформах, где программирование вообще не надо знать. Ну может lua немножко.
Нахуй эти велосипеды.
Индус, ето ти?
Ну ты охуел - не понимашь как работает return и print, но уже fstring юзаешь )))
Тебе уже ответили что принт не возвращает ничего, и еще у тебя хуйня во 2 строке. Напиши if not len(names):
Всем тертарных операторов в этом треде
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
тернарных * )
сейчас везде фстроки учат впервую очередь , а если это точка формат а то и %% то скореее всего учебный материал раньше 15ого года
Вакансий по близости нет уже полгода, только интерны на 3 месяца и практика. А в дс/дс2 на 8 собесах я не смог добиться удаленки ну еще я хуйло, бтв. Зато на петоне каждый месяц по две-три всплывают и мне петон больше нравится.
Ну посокольку ты уже проработал годик в отличии от 80% этого треда погромистом,+ ты сказал что тебе питон нравится больше, то это уже точно не с нуля,так что просто выбери одно из направлений и развивайся в нем, правда как бы не получилось потом что с вакансиями будут проблемы из за того что петухон самый распиареный и популяризированый среди вкатышей, конечно у тебя есть опыт разработки, но как бы это не нивилировалось тем что ты хуйло
Хуя, квадрипл, тебе именно по алгоритмам книга нужна?
Я заказал пару книжек по машинному обучению, но уверенно себя не ощущаю, а самостоятельно только хуи пинаются. Поэтому хотел поэтапно. Да и первые, хорошо известные мне главы, очень быстро проскочат.
Ладно, думаю cademy хватит, а там уже будет видно.
>.net# пока не случился карантин и отдел не распустили
Кек. У нас шарпистов также отправили в свободное плаванье и заменили пистонистами и го-дрочерами
Бэкграунд - алгоритмы 0, с когнитивными способностями и вообще с башкой беда. Из околорелевантного опыта - рисовал парашу на флеше с небольшим говнокодом во фреймах в древние времена, еще до as3. Потом оказалось, что я могу сесть и немножко писать на js скриптоговно, ибо языки одной спецификации. Ну чем я и занимался последние лет 7-8. Плюс писал не на современном языке, а на устаревшей BPM с доисторическим движком, где 90% кода - это ее специфические функции и апи.
В общем, даже из 1Сника червя-пидора программист лучше меня.
Посоветуйте книгу или онлайн ресурс для вката. А то в шапке много, а что выбрать не знаю.
Желательно, чтобы доходчиво, с основами. Желательно, чтобы затрагивалось создание GUI. И будет особенно охуенно, если будет дано четкое понимание и применение ООП, а не на уровне "ыыы короче вот животные наследуем 4 лапы и хвост" или какой-нибудь ебалы с геометрическими фигурами.
Понял тебя - скорее всего так и есть. % я понимаю что не всегда норм, но вот формат это же вообще просто пиздец мощная штука, если освоишь.
>Бэкграунд - алгоритмы 0, с когнитивными способностями и вообще с башкой беда.
Тогда ты по адресу.
Я со своей колокольни могу посоветовать курсы JetBrains. Правда они вроде сейчас стали платными вроде как, так что хз. Курсы на Stepik ещё крутые.
>>75576
>И будет особенно охуенно, если будет дано четкое понимание и применение ООП, а не на уровне "ыыы короче вот животные наследуем 4 лапы и хвост"
А хули тебе ещё надо то? Иди читай Эрика Мэтиза - Изучаем Питон. Мне понравилось, как он там с классами рассказал. Довольно большой кусок книги про них.
Ну платность не проблема, главное чтобы толк был. Я бы даже купил ноут и на очные пошел, пофиг.
>читай Эрика Мэтиза - Изучаем Питон
Спасибо, гляну.
>самый распиареный и популяризированый среди вкатышей
Они повально идут в QA, некоторые особо упоротые в Data Science стажировку (но без мат бэкграунда). Если чел имеет опыт в бэке и не чухан, его таки возьмут
Я вакансию джуна получил весьма быстро. На собесе поотвечал оперативно на вопросы и притащил проект, в котором настроил сервак на debian, nginx, gunicron с моей приложухой на джанго и postgres + немного фронта на бутстрапе и ванильном жс завез; вакансия была нихрена не на джанго но тем не менее мне уже на следующий день позвонили и сказали что берут (ДС2)
Но там аккурат с животными. Однако порешай упражнения, которые там даются. Там со всякими пиццериями и т.д.
Очень мало видел кто в QA макаки вкатывается, конечно возможно так и есть, но они молчат и их не видно, а тех кого видно пытаются стать джангодибилами(без обид кого задевает, просто для меня это уже нарицательное)
Вставляю строку(надеюсь, синтаксис не съестся):
<p>Создано: {{ post.Created_At }}{% if post.Crated_At != post.Updated_At %}, обновлено: {{ post.Updated_At }} {% endif %}</p>
В моём понимании если "Crated_At" и "Updated_At" равны, то ", обновлено:..." не должно выводиться. Но оно всегда выводится. Можно это как-то пофиксить?
Судя по тому, что я нашёл, дзндзя и не в такое умеет, но не пойму, как.
>джангодибилами
+
Фреймворк не совсем уж говно. Свои задачи он решает, но вкатывальщики уж больно много уповают именно на него. Привыкают что там все out of box, а потом начинается "пацаны, а че химия БД не видит"? "а че шаблоны не рендерятся по дефолту"? и т.п. если че то да, начинал я тоже с джанго и пет-проект был на джанге
ассерти response_code либо содержимое респонсов, хуле
для тестов с БД селекти данные оттуда и проверяй на валидность (только блять не тести на основной БД, а создавай отдельную для тестов и стирай в конце тест-кейса)
>не тестить на боевой бд
У нас был один гуру sql, который любил позапросить в боевой базе. Пока он еще работал, ему дба чуть пизды не дал, когда заебался килять его сессии с локами или шринкать транзакционный лог.
понял принял, спасибо
for x in collection:
await x.action()
и async for x in collection
?
Зачем вообще async for нужон?
>for x in collection:
Предусматривает, что у тебя уже есть коллекция объектов и ты что-то должен с ними сделать
>async for x in collection
тут коллекция - корутина, которая время от времени возвращает тебе значения, например, ты так можешь итерировать сообщения веб-сокета, которые будут поступать в эту коллекцию время от времени
Что за cademy ?
Это не возвращение чел, это вывод текста в стдаут, а само значение возвращается None сравни в интерпритатаре print("говно")==None?функция принт выведет текст в стандартный консольный вывод затем вернет ноне , а затем сверит и скажет что равно.
Чел у тебя хотя бы пару месяцев изучения есть? мне кажется, что нет
Да я уже второй год на питоне работаю. Не понимаю о чем ты.
Какая нахуй разница, мне нужно распечатать или вернуть.
Ну братик если ты за 2 года не понял как работают функции, флаг тебе в руки в таком случае, удачи и всех благ
Используй лучше return средств у того кто тебя обучал, если конечно таково имело место быть
Я понимаю как это работает. Проблема видимо в том, что я распечатывал, а не выводил. Понял. Просто обычно работает с принтом.
создаешь file в 2 строчки
from itertools import combinations
help(combinations)
запускаешь, смотришь вывод в консоль
да это то понятно,я прост думал там обычные циклы внутри или что то типо, а там какие то подчёркивания и тд и тп
дантер методы,
ну тогда еще доки можешь глянуть https://docs.python.org/3/library/itertools.html#itertools.combinations
правда там написано это примерно эквивалентно
О да, спасибо. Надо научится официальными источниками пользоваться кста
Перед этим я конечно обновил pip и установил future
В системе только один питон
ImportError: cannot import name 'print_function' from 'future' (C:\Program Files\Python38\lib\site-packages\future\__init__.py)
>второй год на питоне работаю
>не знаю что такое возвращаемое значение
Пиздец блять. ЖСеры просто сверхразумы по сравнению со средним питонистом
Не проектов и файлов, а чисто небольших кусков, которые я мог бы найти по тегам и переиспользовать быстро.
Т.е. написал полезную функцию, закинул туда и докинул тегов, чтобы быстро найти. Например "python, csv" и т.д.
GitHub
govnokod.ru пойдёт?
А если серьёзно, то для себя можешь приспособить github, pastebin и т.п., но для небольших огрызков будет удобнее в evernote или аналогах.
Всем привет
Планирую запилить свою простенькую игру браузерную
Примерно как травиан или икариам(ну типа строить город, он там сам по себе строится, развитие), но сильно на минималках, куда проще
Цель не коммерция (ни в коем случае), а для души
аноны отправили в тред js, подскажите, реально ли без особого гемора сделать это на питоне?
Получается, что нужна серверная часть, на которой должны быть какие-то события, какой-то клиентский интерфейс, какая-то база данных, и все это должно взаимодействовать по сложным законам
Если реально, то есть какой-то пример такого взаимодействия, но с минимумом наворотов? Чтобы я подхватил основные вещи, но не запутался в деталях? Какой-то базовый образец для неофита, который хочет вкатиться на полщишечки для своих локальных целей
На js не писал никогда, писал костыли на питоне
Предположу, что JavaScript
Смысл в том, что нужно какое-то серверное приложение, которое будет доступно через браузер (собственно, браузерная игра), иметь какую-то оболочку, но при этом все действия будут осуществляться на сервере, и будут осуществляться даже когда ты не в браузере
Например, здание строится 10 минут, и тебе не обязательно сидеть в браузере все время
Я видел твой пост вчера в другом треде
Изучи сначала основы веба и передачи данных. Потом пограмминг трогай. Тебе в любом случае придется быть фуллстек типом: и фронт и бэк на тебе. Фронт будешь хуярить на жс, никуда не денешься, серверный код тоже можешь написать на жс (Ноде) но тут выбор шире, мне лично не нравится хуярить серверный код на ноде, простенькие и не очень API норм пилятся на этом самом пистоне: фласк или FastAPI бери
Версии интерпретаторов сравни и changelog почитай, заебал.
>Я видел твой пост вчера в другом треде
Я не писал никаких постов вчера, я вебом не занимаюсь, этот скрипт общается вообще с апи определенного софта
Уже лучше
Примерно понимаю, о чем ты
Но со мной это так не работает, мне для понимания нужна конкретная задача, теория в моей голове без практики не задерживается больше пары часов
Мне бы какой-никакой простенький проект подобной реализации: реализации серверной части на питоне уровня у меня есть сервер, и клиентской части на чем угодно, чтобы пускало на веб морду, чтобы была эта самая веб морда
Необязательно как-то хитро изьебываться и искать ради ньюфага, просто плиз скажи некие теги, как правильно гуглить
Да, прошу удочку, а не рыбу
И да, в твоём посте нет ни слова о базах данных
В теории, можно же использовать некие текстовые файлы, куда закладывать определенные значения, это избавит от необходимости разбираться с бд
Или это совсем уже костыль?
Напомню, что хочу сделать простенькую для себя игру (совсем для себя и круга друзей)
>теория в моей голове без практики
В любом случае учишь фреймворк/либу через практику канешн
Но для начала берутся книги "жс для чайников" и "питон для детей", потом что-то посложнее
Но вот тебе задачи для начала:
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-страницы
Шизик, какой return yield? У тебя там нет генератора для йилда. Тебе выше уже ответили, что тебе нужно убрать принты перед ретёрном. Либо, если тебе эта функция нужна только для этой хуйни, можешь вообще убрать ретёрн и оставить только принты.
Продвинутые варианты:
1. Добавить JWT-аутентификацию, анонимные юзеры не могут использовать апи. Запрос GET / возвращает все документы принадлежащие конкретному юзеру или группе юзеров (об этом - позже). В POST запросе добавляются поля: expires - время жизни документа в минутах, по прошествии документ будет стерт и недоступен, group (опционально) - если запостить док надо от имени группы а не конкретного юзера, если юзер не принадлежит к этой группе, то возвращается HTTP403.
Фоном работает БД (пусть будет PostgreSQL) в которой хранятся данные о юзерах и данные о времени жизни документов, также работает демон Celery, который каждые N (на твой выбор) минут очищается "протухшие" файлы
2. Парадокс Монти-Холла (гугли). Вместо кнопок отображаются "двери", которые подсвечиваются при наведении. После выбора оператор (твой жс скрипт) открывает одну из свободных дверей и предлагает сменить дверь либо остаться на прежней, запускается новый таймер и юзер должен сделать выбор. По окончании выбора проигрывается короткий звуковой файл: один для победы, другой для поражения
Тестовых баз дохуя разной степени актуальности было, включая свежую на вчера.
Да там чел просто не парился и отлаживал свои ебаные запросы t-sql прямо на бою, потому что считал, что он слишком охуенный, чтобы накосячить.
Прочитал "A Byte of Python", куда дальше? Как практиковаться? Где можно найти задачи, схожие по заданиям для различных разработчиков?
Пиздуй плати за курсы ВШЭ/Наебэйл.ру/Хуяндекса раз сам не можешь найти ресурсы. Каждый тред одно и то же.
Читаешь первый том лутца последнего идзания попутно прогоняя все примеры,Читаешь второй том лутца последнего идзания попутно прогоняя все примеры !!!ВАЖНО: в случае электронной версии код необходимо набирать ручками!!! И через пол года можешь возвращаться снова с вопросом что делать дальше,
Бамп вопросу. Мне казалось, что это должно быть довольно просто...
Нет )
1) Я как бы не вкатывающийся, а уже исповедующий, правда в приличном обществе такие навыки, как у меня, не показывают. Люди уважаемые за такое здороваться перестают
2) Нет, рано убегать, пока не попробовал. Я даже скопировал почты анона, чтобы не проебались.
>>75902
По поводу второго - ну не знаю, как мне это пригодится в совсем костыльной версии
А первое - да, похоже, нужно будет сделать что-то подобное
Такой вопрос: нашел python flask на просторах инета - оно мне не подойдёт? Мб в сторону этого посмотреть? Ну, чтобы сразу в бой броситься? Там вроде бы есть все вещи: авторизация, многопоточность, прикручивания баз данных, можно относительно легко html страницы вставлять, а в них уже джаваскрипт куда-нибудь засунуть
>можно относительно легко html страницы вставлять, а в них уже джаваскрипт куда-нибудь засунуть
AYLMAO
Ты если сам не знаешь, то молчи и не выебывайся, или ты сам из этих инфоцыган?
Давай ещё разок, на всякий случай: 1 - это некий аналог серверной части. Ее делать на питоне, верно?
2 - это аналог клиентской части, ее делать на js, верно?
вконце правда лучше просто файл распечатать, без абспафа, ну в целом примерно так, сам под себя подшлифуешь, а основной вектор развития я тебе задал
Но ты пытаешься сделать open(file) по наименованию, а путь к нему проебал, не?
я сделал на коленке за минуту, а раз ты сам понял в чем дело, то тебе не составит труда сделать как надо
картинка=реквестс.гет(УРЛкартинки)
вопрос, как узнать ее вес?
Да не это вообще ерунда какая то, я так то и сам могу чанками в одну строчку уложиться, но просто думал может есть какой-то метод запрятанный аля картинка.вес()
если ты про самый популярный ответ, то это вообще 2ая версия петона
Наивный... Это счтается азами для вебмакакинга
https://developer.mozilla.org/ru/docs/Словарь/W3C
Да я честно признаться в вебмакакинг не собираюсь, мне просто для своей фигни надо, но не смотря на это я слабо могу асоциировать заголовки респонса, с тем что ты скинул
сяп
а все, чем больше смотрю тем больше наблюдаю связь, сори
на HEAD имеет право не отвечать, так как CORS может блокировать запрос извне. Тем более, что фронт может сидеть на Node и заниматься отдачей контента html и динамики, а бэк будет уже логикой заниматься и в том числе файлами. Тупо конечно, но в жизни все бывает.
Алсо, бывает такая вот ебала
location /service {
if ($request_method = POST ) {
fastcgi_pass 127.0.0.1:1234;
}
if ($request_method = GET ) {
alias /path/to/files;
}
}
flask-а часто хватает, но если хочешь лучше производительности и асинхронности то FastAPI бери, это доведенный до ума Фласк (и документация там лучше)
Это изолированные отдельные серверная часть (1) и клиентская часть (2). В риал проекте канешн фронт (клиент) общается с апи хоста (с сервером)
Но в 1 как он обозначен фронт не нужен, запросы тестятся через curl либо через Insomnia если ты больно сноб. В 2 бэк не нужен, все происходит на одной html-странице в браузере у юзера
Там не хватает все же или aiojobs или celery. Fire and forget на запись данных иногда хуево отрабатывает.
Может только я с таким столкнулся, но просто лучше подстраховаться и хотя бы логировать в дебаг такие вещи. Потому что футур без возврата или хотя бы флага task_done это хуевая тема. Ладно если не очень важные задачи, но если лезть в ML с этим... Ну как бы можно проебаться на самом простом.
>aiojobs
Если задумался об этом, то фласк или любой другой синхронный фреймворк точно не для твоих задач
>или celery
Внезапно: берешь и ставишь. Порой требования на асинхронность можно преодолеть отложенными тасками. Но важные фетчи/запись данных в БД или обращения к сторонним апи тут не прокатят
Гуглятся всякие tkinter, wxpython, pyqt.
Поясните, пожалуйста, вкратце, на что лучше всего обратить внимание и почему.
хочу попробовать в программирование, довольно много советов именно в сторону пайтона
Ну тогда бегом смотреть хауди хо , хоп-хоп-хоп-хоп-хоп-хоп, посмотришь его пайтон за 1 час и можешь уже отсылать свое резюме, правда если ты с москвы молю не ставь зарплату меньше 150к , не порть рынок
работа мне не совсем нужна, я хочу изучать для себя
инфантильно и по-детски начинать изучать язык из-за этого, но я хочу в сторону написания эксплоитов, поиска уязвимостей и всё такое
кринжово наверное звучит из уст нолика
TCP/IP
>Хауди
Че ты пиздишь мне, черт галимый? Для белого хакинга как раз пистон самое то. Открою блять секрет: в любом случае ты будешь работать с АПИ твоей ОС, похер с помощью какого языка ты будешь делать эти запросы. Для сетевых запросов тем более
С++ будет нужон когда захочет залезть внутрь исходного кода
Завидую выдержке и непробиваемости этого чувака. Он уже 4й пост на тему инжекции зависимостей выкладывает. Каждый раз его спрашивают, нахера он его замутил, и каждый раз он находит оправдания, не говоря уже о тонне кода
спасибо, что помог
Это из той же серии, где чел всерьез написал статью как он юзал ардуину и даже что-то кодил, чтобы запитать с ее линейного стабилизатора малину.
Бамп с картинкой для привлечения внимания
Ну патамушта ты сравниваешь объекты по типу datetime небось, а не числа
Да и числа могут подкинуть нежданчик, напииши 0.1 + 0.2 == 0.3
Короче нужно запустить скрипт обычным открытием файла в папке, но он блядь не хочет. Появляется какое-то окно, делает вид что пытается, но сука не хочет.
При этом код ок, через компилятор запускается как часы.
Умоляю, подскажите, как запустить скрипт ебучим двойным щелчком на файл?
Ну да, datetime.
При записи значения в поля "создано" и "обновлено" тупо записывается текущее датавремя, а при обновлении - изменяется только одно из полей. Для дзиндзи что, это будут разные значения? И что мне, получается, нужно сначала как-то их "привести" к более другому типу (str? int?) и передать в дзиндзю отдельно? Звучит неочевидно...
питон - проблемнориентированный язык
это когда больше просто решаешь проблему и не отвлекаешься на "а как в этом языке закодить такое"
но когда хочется делать что-то фундаментальное, то вылезет боком и скорость и GIL и модульность питона
Не могу понять, смысл выражения
correct = correct[0]
Этом я присваиваю переменной correct, которая ранее получила значение - строку, первый символ по указному индексу.
ЗАЧЕМ?!!!11!1
Очень злит. Не могу продолжать из-за этого.
Подскажите пожалуйста.
Внутри correct может лежать еще один список, с ним также можно будет сделать correct = correct[0] и т.д. разворачиваем так сказать
Но в твоем случае мы просто получаем строку в файле из которой вычленяем первый символ
У тебя в user находится класс User, а тебе нужен экземпляр класса, ты сначала получи пользователя по мылу, а уж потом проверяй суперпользователь он или нет.
>>76988
Видимо на этой строке находится буква правильного ответа, вот эту букву и помещают в коррект, а потом выведет что-то уровня f"правильный ответ: вариант {correct}"
Вот это путь для БД чтобы SQLAlchemy с ней законнектилось. С хрена ли написано sqlite:/// че это за тройной слэш?
С postgres буде также? Там же не файлу коннектимся, а по хосту (localhost) и порту (5432). В Postgres к тому же надо коннектиться по юзернейму и пароль, да и коннектиться к определенной Базе по ее имени
Я просто джангодаун бывший. Больно привык что можно указать 2 строчки в settings.py и прога сама все за тебя сделает, сейчас FastAPI и асинхронные БД пытаюсь подкачать.
Cтроки подключения разные будут, но адаптер сам знает как распарсить строку подключения
Вот вижу я строку по типу:
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, когда вводишь много одинаковых.
Точно объяснить не смогу, но это явно из-за того, что ты изменяешь список в цикле. Скорее всего при каждом удалении смещается индекс, цикл запрашивает элемент из списка по индексу 4, а список говорит: "иди нахуй, у меня всего два элемента". Цикл с чувством выполненного долга и завершается, будучи уверенным что обошёл все элементы списка.
много чего же
- можно хранить то, что уже вывел и не повторять
- можно пройтись по списку и посчитать создав словарь "слово":количество (еще можно глянуть collections.Counter)
- раз уж сортировано, то можно хранить текущий элемент и сабиндекс этого элемента (без лишних списков будет)
ну идея курса, который я прохожу - делать задачи последовательно после пройденного материаля, не залезая в знания, которые даются впереди. Короче словари и т.п. мне недоступно, только слайсинг, циклы while for, некоторые действия со списками и строками, операторы break continue и все.
>>77439
Без удаления у меня получалась хуйня, т.е. вот допустим 1 1 1 1 1 2 2 2, мы посчитали кол-во s[0], их много, хорошо, единичку записываем, потом считаем кол-во s[1], это опять единички и их много, и получается, что опять пишем, хотя по условию надо именно 1 раз выписать повторяющиеся числа. Поэтому и решил ремувать повторяющиеся числа после того, как мы посчитали что этого числа много и выписали его.
inpt=[4, 8, 0, 3, 4, 2, 0, 3]
outpt=[]
for i in inpt:
__if i not in outpt and inpt.count(i)>1:
____outpt.append(i)
outpt.sort()
print(outpt)
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!')
>Короче словари и т.п. мне недоступно, только слайсинг, циклы while for, некоторые действия со списками и строками, операторы break continue и все.
Так тебе тоже нельзя?
Чел ты серьезно ? Разница в то что если ты возвращаешь, то ты можешь это значение прицепить к переменной или передать сразу куда-нибудь, а напечатать это просто кинуть в stdout, при этом возвращается None, то есть
def you_stupid(nigger):
....print(nigger)
....return(nigger)
result = you_stupid("nigger")
if result:
....print(result)
Выведет тебе nigger два раза, потому что 1 раз из ф-ии напечатали и 2 раз ты вернул значение, и передал его в ф-ю
Да pyautogui является сторонней библиотекой(ее нет в стандартных поэтому качать через пип либо ручками в окружение пропихивать)
Ну ты бы хотя бы ОСь указал...
Нельзя сорт им ещё, я думаю и set тоже нельзя, я просто показал генератор как запилить
блять, одну букву отправил каким то образом, сорян
так у него ж в задании написано что может понадобится сорт, и он сам вроде как его юзает
Да, ты прав :) ну тогда твое решение более закончено выглядит
Чеееел, а что твой .sort() возвращает то?
print(sorted(list(set(i for i in s if s.count(i) > 1 and i != " "))))
От души. Спасибо.
область на объект в памяти, просто скобочек полсе сорта нету как вызываемого обьекта
Ты не осилишь первый шаг даже, если сюда пришел с таким вопросом.
можешь на ютубе поучится,Хирьянов например, или egoroff_channel , а если не можешь придумать че сделать, попробуй свои обычные задачи автоматизовать, тогда можешь прочитать книгу Автоматизация рутинных задач
Большое спасибо
Эксперты-вкатуны с Двача всерьез за Хабр взялись
Анон, ты молодой, шутливый, не стоит вскрывать эту тему
Кстати писька ты видишь что там никакой ссылки ни на что нету ни на PIP ни на Хуип, читать нечего лишь пример с двоеточием внизу который хуй пойми что обозначает
Спасибо за инфу писька ебаная. Нет серьезно писька, спасибо.
response = await request(url)
data = await response.read()
Зачем асинхронный response.read? Запрос из сети аедь уже получен
Нет, не получен. Запрос приходит кусками. Сначала идет заголовок, отеуда можно получить статус и просие хедеры. Потом уже контент, и контент тоже может быть разбит на чанки и приходить порциями.
Можно и пойти. А можно и не пойти.
>>77448
Снова я на связи. Подскажите плз. В курсе показывали только такую генерацию двумерного списка:
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 пик) создание матрицы забитой нулями, с кол-вом строк/столбцов равным нужному количеству и закинуть все введеные строки в один список, и теперь я планирую присваивать в матрицу из ноликов по очереди значения из этого одного большого списка со значениями, но я же не сумасшедший, я понимаю, что это ебанина, а не решение, даже если у меня в итоге получится. Короче подскажите, как лучше сгенерировать эту изначальную матрицу
Вот я доделал этого ебучего франкенштейна для ввода короче, как сделать лучше?
чиво? это траленк такой? прога должна разные матрицы принимать и со всеми работать
Я ж не к коду предъяву кидаю. Это бич многих вкатунов. Незнание инглиша в 2020 на позиции прогера означает бесконечное прозябание на задворке мира и технологий где-то между парашей и 1с разработкой
А, ну с английским я бы не сказал, что все плохо, например параллельно смотрю всякие видосы на html/css на английском и никаких проблем нет, ты из-за переменных доебался? Ну я просто для себя их так переназвал с безликих букв, когда путаться начал, можно было конечно row col их назвать или вообще просто в комментах пометки сделать, но это энивей фиксится за 10 секунд.
эм, нет, не будет, ты там просто руками вбил эту матрицу прямо в код
9 5 3
0 7 -1
-5 2 9
где у тебя там хоть 1 инпут?
так весь мой вопрос блядь был в этом, как сделать инпут, который будет жрать строчки и преобразовывать их в матрицу более адекватно, чем сделал я.
Блядь, я кажется совсем запутался в инпутах. Почему если ты делаешь условно a = input().split() он сжирает это как список?
Потому что input() возвращает строку, метод split() возвращает лист
> Return Value
> This method returns a list of lines.
Если ты пошагово обучаешься, тебе же должны презентовать новые операторы/классы/методы с описанием что они делают и что возвращают.
Смотри в официальной документации перед тем, как применять, если не понимаешь что-то.
А так пока мой погромисткий опыт = прочитал 150 страниц Эрика Мэтиса, так что вряд ли тебе смогу посоветовать как что-то правильно делать, лул.
>>78229
Короче одно из двух, либо я совсем тупой (обидно будет, угу), либо курс говно, который херово объясняет (вариант, что я был невнимателен отметаю, т.к. проблемы похожие уже были, и я с тех пор не просто смотрю части с теорией, а конспектирую, выписывая все команды которые дают и некоторые примеры и объяснения). Базовые понятия пиздец бегло давались, кто что посоветует в плане других сурсов изучения? Чтобы нормально поясняли про методы, типы переменных и вот это все.
Прочитай полностью нормальную базовую книжку, тогда уже лезь всякие матрицы дрочить.
Вот эта неплохая из новых. https://www.manning.com/books/the-quick-python-book-third-edition
И вот эта серия заебись, пожирнее. https://leanpub.com/b/python-craftsman
Я с телефона капчую, еще несколько дней до пеки будет не добраться
вообще в aiohttp респонс даже и не так образуется:
async with session.request(method="GET", url=url) as response:
>>77390
у анона в первой строке такой код
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__ задаются атрибуты для будущих инстансов класса или, как их еще, насколько знаю, в других языках называют полями(fields), но в питоне принято называть атрибуты. Это что-то такое описательное, типа характеристики объекта, если это машина, то ее цвет или скорость например.
Есть атрибут self, который может называться как угодно на самом деле, но в питоне принято опять же юзать self, по сути он связывает инстансы класса с самим классом, и вот в примере еще есть name, т.е. каждый новый инстанс класса при его создании должен будет иметь железно 1 атрибут, это как раз этот name, иначе питон пошлет нахуй.
А, ну еще на примере у нас есть метод def say_hi, это мне тоже понятно, что классы кроме своих особых атрибутов могут иметь свои особые методы, которые, как и атрибуты, ты можешь создавать под командой class: и методы это типа скорее действия, что если брать пример с той же машиной, что это то что начала движение, например.
Но вот на втором пике - с сайта с официальной документации питона кстати https://docs.python.org/3/tutorial/classes.html - мне че-то нихуя понятно.
Какого хера под __init__ создается метод - self.__update(iterable)? Разве методы не задаются отдельными методами как на первом скрине с def say_hi, нахуя под __init__ пихать? В моей голове под __init__ вот вообще только привязка атрибутов идет, а-ля self.something = something
У меня еще разрыв шаблона от того что там зачем-то один атрибут класса приравнивается к пустому списку, зачем вообще. Ну типа наверное чтобы потом метод update наполнял этот список каждым айтемом из поля iterable при помощи метода append, ок, а это в свою очередь нахуй нужно?
А почему нет
self.items_list = items_list, разве этого не должно быть?
>Разве методы не задаются отдельными методами как на первом скрине с def say_hi, нахуя под __init__ пихать?
Криво написал совсем, ну имел в виду что у нас первом скрине
def __init__
def НОВЫЙМЕТОДКЛАССА
а на втором скрине типа
def __init__ и под ним сразу без всякого нового def хуярится новый метод.
Или это вообще одно и тоже и неважно?
блин стока воды, а по факту вопрос "почему в функциях можно использовать функции" ...
если ты не знаешь что такое вызываемый объект, иди укус питона почитай в таком случае
import pyinputplus
Мне понятно как вызвать функцию или инстанс класса, это все же объекты тоже, через точку хуяришь там, ну и в круглых скобках аргументы/аттрибуты еще хуяришь.
ну да чичас фронтендер прйдет будет разбираться в твоем говне , и подстраивать шаблоны исходя из того что ты понаписал, По сути тебе динамически изменяемые данные в хтмле надо {{шаблоном}} обработать, но начальный статический хтмл должен откуда то взяться, а вот откуда он возьмется, тут уж хуй его знает, может с бутстрапа спизжен
self.__update(iterable) в конструкторе это вызов метода __update в том же классе.
Вообще, ты как-то очень формально пытаешься понять классы, мол тут так должно быть, а тут эдак. На самом деле, класс это просто функция, имеющая внутри ещё определения функий = методов и отдельный скоуп, гуляющий через тот самый self.
Можно сравнить с замыканиями https://ideone.com/VQGPjS
Понял, спасибо, не так всё плохо.
>self.__update(iterable) в конструкторе это вызов метода __update в том же классе.
Погоди, но ведь методы создаются через ключевое слово def внутри классов, а в примере с моего скрина def update идет ПОСЛЕ self.__update(iterable), и еще ниже __update присваивается update.
Питон же выполняет код сверху вниз, как он может вызвать то чего для него еще нет? Как он может вызвать то, что определено/объявлено ниже, а не выше по коду?
При определении выполняется верхний уровень, где дефы, глубже уже только при явном вызове.
Нахрена семафоры и локи используют в асинхроном программировании? Вон в asyncio есть свой asyncio.Lock(). Нахрена? Эти концепции ведь придуманы чтобы облегчить мультипоточное программирование, но в асинхронках ведь поток один
Есть один чат в телеге, хотел бы получить номера телефонов юзеров из него, какие есть варианты подхода?
Понятно что, тот кто скрыл телефон от всех того я телефон не узнаю, но есть остальные которые телефон не прячут.
Соц-инеженерия не считается.
На данный момент нагуглил только старые статьи, которые уже не актуальны.
Возможно, я задаю гуглу не верный вопрос.
Ты червь.
При чем тут генератор если это list comprehension? Сахар + читаемость кода.
Советчики херовы.
Решил уже другим способом (пикрил). Но все равно, ответьте плз, хочу узнать. И еше один момент:
>>77390
^вот тут я спрашивал про относительно похожую хуйню, т.е. я модифицировал список прямо во время прохода по нему, и мне тут сказали, что так делать не стоит (>>77397 >>77416 )
Но вроде тут сама задача форсит такой хуйней заниматься? Или Можно как-то элегантнее?
Ну тут последовательно дается материал, и есть задачи, которые использовав какую-нибудь залупу типа map, или конструкцию типа print(*[....]) можно было бы решить в одну строку, и идея задачи как раз в том, чтобы юзать то, что есть.
Ну сделай через range задом наперед, какая разница.
Чел, изменять ф-я может только то что ты передал в неё. Передашь лист - она его изменит и этот лист будет измененным не только внутри ф-ии.
Касательно решения попробуй освоить вот такие конструкции - мне очень заходят.
ахаха и чего там нормального ? Нахуй тебе enumerate, ты прочитать через 1 элемент не можешь? Нахуй тебе удалять, если ты не читаешь то что не нужно? Молодца, пацана щас научишь как надо))
Плюс ты генерируешь новый список и заменяешь его (опять же, только в скоупе функции, придется ещё хуярить global для оригинала), тогда как требовалось мутировать оригинальный.
Ты хоть понимаешь что вообще делает твоя конструкция? Ты создал локальную переменную lst внутри твоей функции. lst извне не изменился, внезапно modify_list ничего не модифицирует
Чел, то что в квадратных скобочках оно сразу преобразовывается в список является просто сахаром для list((i for i in colections)), а так это генераторное выражение, тебе кстати тоже советую почитать про генераторы, но думаю ты забьешь на это дело и так и не поймешь ,что я написал думая зачем я кортеж в список преобразовываю, поэтому приложу картинку
Предлагаю тебе почитать, как оно парсится и выполняется в вм, а не выдумывать за нее. Очень интересный раздел документации.
https://docs.python.org/3/reference/expressions.html
Так у тебя в итоге происходит деление чисел из списка от числа с индексом 1 и с шагом 2, а мне надо чтобы работало для любых списков
Знаю как парсить этот тип, просто вписывая параметры page, а вот верхний код не хочет искать страницы
Задача ничего не форсит, ты сам какую-то хуйню придумал.
Во первых, есть 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 условно, и сортировка по следующему полю будет внутри сортировки предыдущего порядка.
Как в питоне допустим лист из словарей так отсортировать? Только через вложенные циклы, или может либа какая есть, типа этих пандасов всяких?
Или какой-то компаратор свой можно написать?
может подойдет конструкция вида,
i=1
while True:
__res = get('http://example.com/something/page/' +str(i)+'/')
__if res.status_code != 404:
____<code>
____i += 1
__else: break
Можно, параметр key, там можешь вхуячить туплю с несколькими критериями.
Бляяяя
lst = [i // 2 for i in l if i % 2 == 0]
Я щас чёто осознал что до конца не понимаю как без global и return изменять :)
Нужно сохранять результаты в словарь, чтобы не вычислять одно и то же по несколько раз, очевидно же.
Называется мемоизация.
Тебе русским языком написали, что твоя задача - только запоминать результат вычисления готовой функции, чтобы не вызывать ее лишний раз.
Хранить можешь в тех структурах данных, на которые задача.
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']
Я понял - с элементами работаем просто, ок, спасибо
Вообще смотря как пользователь вводит, если все цифры одной строкой:
s = [int(i) for i in input().split()]
а если разными, то добавляй к списку
Бля, ну перечитай этих пару строчек и ПОДУМОЙ.
нормальный(попытка сложить список с строкой) ну впринципе да, норма для посетителей данного треда
Ну так список со строкой вообще-то складываются, а у меня числа надо в список сохранять
Спасибо, заработало как надо
Хороший вариант написать визуализацию какого-либо алгоритма. Или напиши несложный сайт, который бы решал какую-нибудь проблему твою или общечеловеческую.
Хуя ебанутые.
В этом вся суть Питона. Это хороший язык, но не для старта, ибо такие вот Ваньки прочитают 20 страниц и начинают месить говно, потому что язык очень флексибл и не кидает ошибки.
>Это хороший язык, но не для старта
>потому что язык очень флексибл и не кидает ошибки
Лол, а какой для старта тогда? С++ может?
Я другой челик, но тоже недавно начал вкатываться, недельку примерно, и прям чувствую, как творю хуйню на костылях для решения задачек, но язык мне позволяет ее творить. Если с него начинать, то наверное только с преподом, чтобы пиздил за хуйню в коде, особенно на первых этапах.
Это каждый знает. А ты почему не знал? Ты дурак?
Отклеилось
код тут: https://repl.it/@Soyrates/111
Вот и скажите мне: почему такой результат? Я это всё затеял, чтобы посмотреть как for справится с проходом по всем элементам, когда они смещаются в ходе цикла. Но я видимо, слишком тупой чтобы понять из-за этого проблема или нет. По идее нет, ибо он не игнорирует никакие элементы при проверке условия повторяемости.
В этом интерпретаторе дебага нет никакого, а другого у меня сейчас нет и не будет.
>По идее нет, ибо он не игнорирует никакие элементы при проверке условия повторяемости.
Ой, а вообще-то игнорирует.
Или нет.
Всё, понял в чём дело. Код по ссылке изменился, так что вы и не увидите в чём там дело было. Ладно, хуй с ним.
"part_1", "part_2"... "part_n".
Получаю через os.listdir() спискок этих файлов.
Как его элегантно отсортировать можно?
При обычной сортировке с помощью sort или sorted получается, что сначала идёт
part_1, part_11, part_12
потом только
part_2
Элегантного ничего предложить не могу, а вот говнокод всегда пожалуйста:
your_list.sort(key=lambda x: int(x.rsplit('_',1)[1])
Есть переименование через os.rename()
Можно ещё создать из этого списка словарь с нормальными значениями и отсортировать его.
а = "10"
b = 10
При попытке их сложить, выдаёт ошибку.
Делаем так:
а = int(a)
Теперь обе переменные с типом данных int.
Есть текстовый файл, для игры "вкторина"
Одна из строк, содержит уникальное число для каждого вопроса.
Почему, при попытке преобразовать строку в int
например так:
points = int(points)
НИЧЕГО НЕ ВЫХОДИТ!!1!?
Подскажите пожалуйста.
>Почему
Ну так посмотри что в points лежит, и преобразовывается ли это вообще в строку, может ты накосоебил.
Алсо тебе интерпретатор английским по темному пишет что именно обосралось.
есть строка, значение которое изначально было равно целому числу, от 1 до 4. Значение из неё вытягивалось индексирование имя_строки[0]
Я изменил эту строку в самом текстовом файле, просто дописав нужное мне число, например 5, без пробелов.
Затем, создал переменную points и попытался присвоить ей это значение вот так:
points = int(имя_строки[1:])
И получаю ошибку: ValueError: invalid literal for int() with base 10:
При проведении экспериментов в шеле, такая конструкция работает.
Если написать
points = int(имя_строки[0:])
Я получаю целое число, значение которого соответствует только первому символу. Допустим у самой строки значение "150" я получаю только 1
возврат кaретки \r, и символ новой строки \n
сап мейлач
в квартире жутко воняет говном, подскажите почему так?
в туалете смываю, из вентиляции ничем не пахнет, из сифонов в раковине и ванне тоже
с закрытыми окнами тоже
проблема решена, оказывается воняло из угла, куда я вчера насрал, когда лень было до туалета идти
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.
Разве там не должна быть защита от дурака, чтобы при ударе по пальцу было не больно?
Зачем я тогда покупал дорогой молоток? Не вижу тогда его плюсов.
480x480, 0:22
Как такое сделать?
сделал абсолютно так же, создал файл хуйня тхт запиххнул в него твой 5строчный пример, скопипастил твой код запустил, в итоге распечатался каждый символ на новой строке в консоле , ничего не зависло, для теста запустил еще пару раз, все работает, ubuntu 20
Надрочи в лист список файлов, в каждой итерации крути рулетку и убирай 10 счастливчиков из листа, пока не выберешь все файлы.
>пока не выберешь все файлы.
Тогда все файлы будут по 1 разу выбраны.
В моём же случае допускается выбор 2 и более, главное чтобы все были использованы в конце концов.
Тогда выбираешь из изначального листа, а параллельно напихиваешь выбранные в сет
Когда количество элементов в сете = количеству элементов в листе, довольно урчишь
были=[]
небыли=[os.listdir]
while небыли !=0:
__файл=random,choise[были+небыли])
__if файл not in были:
____Были.append(файл)
____Небыли.pop(небыли.index(файл))
А хули ты бездумно копипастишь, пёс? abc.readlines().
Тогда файл будет построчно читать. У тебя будет список строк. Смешные вы вкатыши. Конкуренция будет только на галерах, мхех
ебать ты конч)), впорос стоял почему компу пизда при конкретно таких действиях, ну я и прогнал у себя его код чтобы было понятно что проблемы только у него, ты бы хоть удосужился разобраться в вопросе прежде чем гнать)
Шар сломался.
Алсо не очень понял, что значит "проверить результат, обратившись к полю text"
Типа того. Главная проблема в том, что эти ошибки кода станут частью твоего уровня кодинга и в лонг ране ты всасешь капитально. Это как всю жизнь писать левой рукой, а потом переучиваться.
Короче, я сделал колхознее (1 пик), но тоже получил 50. Степик говорит, что это неверно (и это действительно неверно, 2 пик). Не пойму, почему считает не так.
Выведи через pprint, наглядно увидишь форматирование
>(и это действительно неверно, 2 пик)
А сколько будет строк, если развернуть на полный экран? кек
Если вопрос в этом, то тогда нужно разбивать файл по \n, соответсвенно там и будет новая строчка.
опять изменение списка во время обхода. Выше же по треду было про это.
Разгребаю небольшое легаси гавно на 2.7 с форматирование строк
Суть в том что есть набор системных сообщений в духе:
"Пользователь {0} зашел в чат {1}"
Которые переводятся в юникод и после форматируются через метод .format()
Косяк в том что иногда аргументы могут передаваться не так как надо: скажем в примере выше будет передан лишь 1 аргумент или сразу 4 вместо 2. Как определить сколько аргументов для форматирования содержится в такой строке, прежде чем метод .format будет заюзан?
По факту в питоне3 все то же, тут лишь гавнеца в виде text = unicode(text, 'utf-8') накинули
Грустно. Я давно не спал. Спасибо
Ну можно подкрутить под возможные варианты.
А более питонистый вариант это наверное пробовать и ловить эксепшн, я пока так и не привык к такому подходу.
Вангую, что строк должно быть 100, а ты хуяришь безголово стрип и удаляешь последний ньюлайн, лол.
задумался я о двухнаправленной хештаблице. чтобы блять можно было за O(1) выцеплять значения по ключу, но и по значению за O(1) ловить ключи. ничего, кроме ведения параллельно двух словарей я не могу сходу придумать.
самого главного не написал. n-m отношения. в первом словаре А ключи условно уникальные, к каждому ключу могут относиться несколько значений. знаю, знаю, по правде значение только одно, и это будет просто список, но я за значения принимаю элементы этого списка. короче, упрощённо что-то такое:
A = {a_key : [a_val_1, a_val_2], b_key : [b_val_1]}
ну и теперь надо будет ещё вести второй словарь уже без вложений:
Z = {a_val_1 : a_key, a_val_2 : a_key, b_val_1 : b_key}
так вот, есть ли такая ебала уже готовая, чтобы все вставки, правки сама делала и была тредсейф? или мне придётся не изъёбываться и учить SQL?
Если попытаться посрать на третьем пике, то какова будет реакция змеи?
Почему обязательно словарь? Ты хочешь промежуточные данные хранить?
Экономит время нормальных людей, чтобы не обсуждать где ставить перенос строки с коллегами долбоебами
но следующая за ней команда return factors выдаёт None - почему так ???
но следующая за ней команда return factors выдаёт None - почему так ???
Покажи код.
но следующая за ней команда return factors выдаёт None - почему так ???
Работает но в чём разница ? Если я смотрю через Дебагер работает так же ? Так же сначала вглубь лезет потом обратно выныривает. Вообще то же самое же ?
Потому что рекурсия идет в глубину, а доходя до простейшего случая возвращает результат. У тебя максимальная глубина возвращает результат, а дальше по цепочке назад уже нет.
Какой ты самоуверенный, неужели к успеху пришёл. Ладно жди обратку от кармы
А то есть если не возвращать рекурсию она при возврате возвращает свои локальные переменные ? То есть я делаю то же самое но задом наперёд и получаю то с чего начинал так что ли ?
То она при возврате не возвращает ничего, что и дает твой None.
Вам там вакансию закинули: https://www.linux.org.ru/forum/job/15859246
Чем тебя ssh не устраивает? Подключился, убил скрипт, отключился.
Везде блять. Проблема лишь в том что ты пассивен (либо что ты ивешь в Мухосрани). Стажировку (неоплачиваемую) как раз найти можно где угодно
Серьезно, охуенная тема. Стажировка с небольшой стипендией. Потом зарплата нормальная вообще без каких-либо навыков, если налет нормальный.
Плюс, можно привозить на заказ всякие штуки, типа заграничного бухла. Контрабанду айфонов и наркоты предложат прямо там, решаться ли и на что именно - решать вам.
Любые расходники вроде жратвы на борту, напитков, и прочих перекусов можно забирать с собой, это не возбраняется. Кто-то умудряется даже пиздить влажные салфетки и одноразовую посуду.
Когда большой гэп между прямым и обратным рейсом, вас селят в отель. Часто есть время прогуляться по городу, посмотреть зоопарк какой местный - очень круто и практически ничего тебе не стоит.
Если вы девка, то еще за красивые глаза с сиськами чаевые будут давать иностранцы.
У аэрофлота свои неплохие клиники, куча льгот вроде билетов за бесценок для себя и родственников, отпуск 2 месяца в год.
Я не шучу сейчас, кто хотел перебраться в тот же ДС, но вы не очень умны для кодинга - это идеальный вариант для вас, если по здоровью подходите.
Если я сделаю 1, сюда можно на кодревью закинуть?
Челы, сорямба, не в тот тред.
>можно привозить на заказ всякие штуки, типа заграничного бухла. Контрабанду айфонов и наркоты предложат
Сразу задам ключевой вопрос: сколько лет дадут?
>Любые расходники вроде жратвы на борту, напитков, и прочих перекусов можно забирать с собой, это не возбраняется
Напомнило пасту про сборы в армию: https://pastach.ru/p/2
>Часто есть время прогуляться по городу
Как правило этого времени нет, кек. И большие гэпы тоже редкость
Ну как бы да... а хули ты хотел? Курсы прошел и тебе сразу кадровики будут искать?
В дютифри можно же закупаться. Проблемы?
Просто так.
присвоил переменной значение открытого с методом(функцией? путаюсю в терминах) .read
теперь у меня в переменной а лежит какая-то строка
я делаю a+='supdvach'
дальше пишу
with open ('otvet.txt', 'w') as ouf:
>ouf.write(a)
Так вот, почему в файле получается не abrakadabrasupdvach, а
abrakadabra
supdvach
откуда этот перенос строки берется, он же по умолчанию только в принт встроен, или как это работает.
и станешь фемкой?
Потому что в конце файла лежит \n
Не веришь - проверь через logging (ну или через print) содержимое a
бля, точно, открыл просто нотпадом++ и тут видно вторую строку. Какой самый адекватный способ это исправить?
os.chdir(file) if os.path.exists(file) else (os.mkdir(file), os.chdir(file))
На сколько лаконично смотрится? или все же понятнее столбиком?
Спасибо огромное. Правда выяснилось, что операции, которые надо было сделать с файлом нихуя не правильные, но записывать начало правильно, уже что-то
Недавно смотрел "хак" где чувак в проекте написал что-то вроде
def some_function(value, args=None, kwargs=None):
----if len(args): ...
Оказывается это был хитрый план, если args==None, то есть его не изменили, то выскочит эксепшн, который будет обрабатываться внешним блоком try/except, только вот хер ты это поймешь сходу. Явное лучше неявного и над такими участками порой бьешься головой о стену
Думаю примерно 10 паскалей из 10
Есть несколько частых кейсов, куда он вписывается, не более.
Но отваливаются старые версии. Лет через пять может и взлетит.
>Ну так список со строкой вообще-то складываются, а у меня числа надо в список сохранять
Это вот этим кодом >>78818 ?
Мдя. Ты на третьей строке получаешь строку и сохраняешь её в i. Потом на 5й строке превращаешь её в число и сохраняешь число в number. А потом добавляешь к list'у i. Что сохранено в i? Строка, ты её в i запихнул на третьей строке кода и она там и осталась! А в number ты так и не использовал.
>>79006
>такие вот Ваньки прочитают 20 страниц и начинают месить говно
Справедливости ради, я начинал на языке с куда более строгой типизацией - Pascal - и я сейчас понимаю, что в самом начале я много чудил, пока не разобрался. Хотя, наверное, да, в Паскале я бы сразу получил граблями и попытался бы лучше понять, что не так...
Но вот с высоты универа + 10 лет в админстве (а любой админ всегда умеет кодить на паре языков и читает любой неэзотерический код из понятной ему предметной области) могу сказать, что от Пайтона я в восторге: в отличии ото всех ЯПов, с которыми я имел дело у меня не было вопросов типа "какого лешего он не делает то, что я попросил?", пистон всегда делал то, что я от него просил так, как я просил.
Я тут недавно нашёл один свой университетский прожект... И переписал его с Delphi на Python (правда, без гуя), поражаясь своей давишней жопорукости. С полутора тысяч строк говнокода до полутора сотен строк лаконичного решения полностью повторившего логику оригинала.
У них там async views появились, читай доки свежие. Интересно сколько они еще будут копротивляться и не начнут пиздить наработки из асинхронных фреймворков и наконец-то убьют templates. Сколько можно насиловать шаблоны и формы?
Чтобы к каждой строчке надо было хуярить async await, а то и несколько штук, а то посоны не уважают без этой хуйни.
>Пытаюсь удалить из списка повторяющиеся элементы.
a=list('aaaaaaaaassssssssssddddddddddd')
a=list(set(a))
>я знаю про множества
Ну да, я просто поржать. В универе была задачка на PureC написать прогу для первода между разными системами счисления типа "из двоичной в восьмеричную" и т.п., которую некоторые решали в две строки, вида "выведи число в такой-то системе", что преподшу не удовлетворило и им тоже пришлось вступать в отношения с настоящим кодом.
>. Интересно сколько они еще будут копротивляться и не начнут пиздить наработки из асинхронных фреймворков
Ну так посмотри роадмап их, они все на асинхронщину переписывают постепенно, приходи через год-полтора
bump
Палю лайфхак, сам пользуюсь: у компов либо оставляю хостнейм по дефолту, либо пишу "PC"/"Notebook"/etc, пользователя всюду зову "User", реже - "Admin" и вообще не парюсь, что что-то кто-то увидит.
мимо однажды спалил логин с рабочего ПК с фамилией и инициалами, но никто, вроде, не заметил
Приличный тутор, но я бы сказал, что можно за пару часов на трубе получить больше:
https://www.youtube.com/watch?v=6K83dgjkQNw
Или тут:
https://www.youtube.com/playlist?list=PLD-piGJ3Dtl0v10rx98Q0kuAsBfn2MmxL
Знаешь, Паскаль я учил ещё до того, как ты в школу пошёл, тогда это был язык по-умолчанию для вкатывальщиков. Но даже если бы это было не так, знаешь с какой скоростью я кручу на хую мнение быдланов насчёт илитности языков?
У меня почти все (кроме скриптов) прикладные программы по работе на Delphi или Lazarus потому что всё, что мне от них нужно, это чтобы было легко написать, легко прочитать через пару лет и чтобы они РАБОТАЛИ. И FPC в частности с этим прекрасно справляется.
Книга называется Изучаем Python М.Лутц. Вопрос: о каком Лутце вы речь ведёте в рекомендациях?
Ну, зачем сразу обзываться, вот книга, которую я читал. А у вас на ядиске валяется 2 тома "программируем на Python" Лутца. Что из этого надо читать?
Все бы ничего, но ГО это вырвиглазная поделка без ООПа (даже без его иммитации). Крупный поддерживаемый проект на бэке без ООПа не написать. Го не конкурент Жабе и Котлину
Залей на свой Яндекс-диск с публичным доступом. Даже если перекатчик не закинет твою ссылку мгновенно, потом это таки сделают (зависит еще и от качества твоего контента)
Редкий ньюфаг долетает до половины первой, куда там две.
3])) - тут нет скобки у него
>В универе была задачка на PureC написать прогу для первода между разными системами счисления типа "из двоичной в восьмеричную" и т.п.
В питоне это пол строки вообще, просто int.
Это копия, сохраненная 3 марта 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.