Тред, посвящённый языку программирования Питон, #77, вечно живому. Встречаем старый новый год и провожаем новогодние каникулы и отпуска.Предыдущий >>1563834 (OP)ЧАВО: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat актуальность примерно 2015 годаКнижки: https://yadi.sk/d/HQhhsBsq3TVRUqТоже книжки: https://yadi.sk/d/tArKKuQu3KejuqБольше книжек: https://yadi.sk/d/H-00n-UG3RSQemОчень много книжек: https://drive.google.com/drive/folders/13YaFijvuH4dtv-PjUKVWLQ7ZIqXIfCLK <-- похоже ссылка больше не работает, а жальАвтоматизация рутинных задач ч.2 - https://anonymousfiles.io/3CBCoy1o/ <-- тут только одна книжка. Ради неё держать ссылку в шапке неразумно.Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы: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/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом? - очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4А как учить джангу? Нахожу только книги по джанге 1.х - У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой, из официальной документации.В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать - Вот, пожалуйста, та же самая программа, но переработанная под язык Python http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём - брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.https://dumpz.org/b37erFzCnRmW
>>1569408 (OP)>https://dumpz.org/b37erFzCnRmWПо этой ссылке исходник шапки. Если кто готов из неё сделать что-нибудь такое, чтобы тни смотрели и мокли, а остальные слезали с джав и вкатывались в питон - You are welcome!
Анон, недавно начал учить питон, есть вопрос касательно синтаксиса.Допустим, есть логическая конструкция, которая должна выполняться, если переменная будет иметь несколько значений (допустим, 1, 3 и 5). Есть ли способ записать такое условие проще, чем перечислять условия навроде: x == 1 or x == 3 or x == 5? По наитию попробовал написать x == 1, 3, 5 и x == (1 or 3 or 5) - ни то не другое не работает. Мой первый вариант - единственный рабочий адекватный способ?
>>1569412Гуд джоб, Анон.Насчёт одной книги в шапке - видимо никого нет из владельцев крупных хранилищ книг, т.к. ее никто никуда не добавил.Видать придется пилить новое свое хранилище и поддерживать его.
>>1570028хтмл:<form method="POST" enctype="multipart/form-data"><input type="file" name="file"><button type="submit">Отправить</button></form>Контроллер:if "file" in flask.request.files:..f = flask.request.files["file"]..bs = f.read()..f.close()
>>1569408 (OP)Заехал в тред на ньюфажий угол.В общем дрочу себе черепашку, по практикуму курса из шапки и дошел вот до задания с правильными многоугольниками. Никак не доеду, как мне добавить угол, что бы все они получились как на пикрл 1., у меня выходит пик 2.Пробовал по всякому, но сейчас мне уже как-то настоебало, листинг пик 3. Кто знает/просто хочет помочь, просветите, в долгу не останусь, с меня нихуя
>>1570072>>1570073Мое увожение, после этой>turtle.circle()хуйни пошел в документацию к черепахе, и действительно, там она есть, а в методичке не удосужились поставить почему-то просто пол дня впустую ебался в угадайку с координатами.
а что насчёт GUI. Кто знает в какой среде программировать начинать лучше, где больше уроков по этим GUI? Где проще и быстрее можно создать приложения для PC?
>>1570109>>1570072Вот мой код, я считаю, нужно было использовать только то, что было дано в методичке. да, названия в кэмэлкэйзе и я присваиваю делаю странную хуйню с переменными в функции, я был молод, так делать не надоhttps://pastebin.com/NVvLV9GP
>>1570125Гуй на питоне пишут редко. Найти иде для питоне, где из коробки есть Qt Designer или его аналог, ты вряд ли сможешь, придётся всё прикручивать самому. Просто и быстро не будет точно.Можно вручную создавать формы через PyQt или Tkinter. Кода придётся писать много, но простое приложение сделать сравнительно несложно.А проще и быстрее делать на плюсах или шарпе. Но они сами по себе намного сложнее питона.
>>1570229У меня есть класс A, При создании объекта я передаю туда имя файла b = A(2ch.hk)Как переопределить магический метод таким образом, чтобы можно было итерироваться по объекту и выводить информацию, которая есть в файле построчно?for _ in b:--print(_)>сап двач>мать ебал
>>1570235Если у тебя функционал класса ограничивается этим, то проще вместо класса сделать функцию, котора принимает имя файла и через yield выдает строки.Если же нужен класс, то в __iter__ делаешь что-то вроде self.file.seek(0), в __next__ делаешь self.file.readline() и возвращаешь или строку или StopIteration.
Я написал код и не совсем понимаю, как он работает. Можете помочь?n = int(input())for i in range(0,n):____lst = list(map(int, input().split()))____lst.sort()____ print(lst[1], end = ' ')Интересует определение lst. Он берет на вход информацию из инпута в виде целых чисел, дальше выполняется split, потом map, потом это все заворачивается в список, так? А что именно тут делает сплит и мап?
>>1570454input() - на выходе дает строку (тип str), то есть там будет что-то вроде '24 2 10 11'str.split() - берет строку и разбивает по пробелам, получая список'24 2 10 11' -> ['24', '2', '10', '11']map(f, l) - берет f и для каждого элемента x из l применяет f(x), здесь map(int, ['24', '2', '10', '11']) тоже самое что и:int('24'), int('2'), int('10'), int('11')Но map возвращает не список, а специальный объект, поэтому его превращают в список list
Что быстрей?Получать один кусок данных из бд(монгодб) и сортировать его через пайтон.Или сразу получать несколько но уже отсортированных кусков данных из бд.
>>1570715Запусти профилировщик и посмотри. Вангую, что сортировка в питоне будет жрать памяти немерено.
>>1570715Кстати, монгодб уже умеет не загружать всю базу в оперативную память при восстановлении после некорректного завершения работы?
>>1570235def __iter__(self):__with open(self.filepath) as f:____for line in f.read().splitlines():______yield line
Простите за глупый вопрос. Есть желание выучить python. Вернее мне предложили это сделать на работе. Но навыки программирования у меня следующие:1)Писал что-то для микроконтроллера на си в универе. Писал криво, без каких-либо правил программирования2) писал скрипты и макросы для эксель3) написал сайт в универе, который хранил логины и пароли в SQL4) написал табличку в борлэнд с++ билдер на ~250 строк кода.То есть мне нужно обучаться почти с самого нуля в целом программированию, а не только пайтону. И это вводит меня в ступор. Все ссылки выглядят так будто они уже для тех, кто знает программирование.Я правильно понимаю, что лекции от мфти будет идеальным вариантом для начала вкатывания? Или лучше какую-нибудь книжку. И где брать практику.
function all_the_same at 0x0181C220Подскажите, плиз, что с этой ебаниной делать? Бесит ужасно, но всегда проёбываю , что я сделал перед ней и потому не знаю из-за чего это и как фиксить
>>1570806М... Вызвать?Наверное, ты принтишь саму функцию вместо того, чтобы её вызвать и принтить результат.
>>1570772>выучить pythonЧто именно ты под этим подразумеваешь? Веб-разработка, фуллстак, машин лернинг, шкрепты для автоматизации какой-нибудь хуйни на работе?
>>1570854не лезь блять, дебил сука ебаный. ты чо хуел, я те сказали чтоли. залесь нахрен нахуй обратно блять! Дебил бляять.ОНА ТЕБЯ СОЖРЁТ, БЛЯТЬ! НАХУЙ ТЫ..АААААААААБЛЯЯЯТЬ! ССЁЁЁЁЁСУКА! ЕБАН (АААААААААА)(кряхтя) блиятьАААААААААААААААААААААААААААДА БЛЯЯЯЯЯЯТЬ СУКА
>>1570855Я молод, у меня все в порядке с математикой (знаю хорошо ТОЭ, ТАУ, думаю выучить что-то еще не составит труда, у меня есть желание заниматься чем-то сложным, но хоть на 5% интересным, я думаю, что я буду хорошим и уникальным специалистом если совместить мои знания технологии с навыками работы нейросетей.Но если опишешь подводных медведец то буду рад
>>1570901Так а зачем тебе питон тогда? Если ты знаешь математику и хочешь чем-то интересным с нейросетями заниматься, тебе скорее нужны алгоритмы и плюсы.
>>1570909В компании уже с python'ом работают. Да и , вроде, все курсы онлайн школ, что я видел на нем учат с нейросетями работать. Я хочу к этим курсам подготовиться Плюс моя математика не отличная, просто лучше, чем у рядового выпускника тех. вуза по моей специальности. Я же не на примате учился и не в MIT.
>>1570909Ну я не против начать изучать программирование с азов. Но только не стой скоростью, что предлагают всякие скиллбоксы. Начать я могу и с самообучения, а уже потом думаю взять курс на нетологии по машинному обучению
Это немного не по теме треда, но как вы печатаете? Я сейчас пытаюсь научиться десятипальцевой печати, но прогать ей вообще невозможно, из-за того, что половина символов приходится на правый мизинец, ещё эти постоянные нижние подчёркивания
>>1571085Как придётся, никогда не заморачивался с этим. Открыл как-то картинку, где было изображено правильное положение пальцев в десятипальцевом, попробовал, не осилил, закрыл.Вот бы хоть один из этих "методов правильного печатания" помогал быстрее переучиваться с одной клавиатуры на другую.
У меня есть большой список из 365 интов. Мне нужно сумму каждых 7 интов в этом списке поделить на первое, второе, третье и т.д. число в другом списке и сложить их в другой список, т.е. грубо говоря:result = []lst1 = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,....,365]lst2 = [5,10,15,.......]result = [((1+2+3+4+5+6+7)/5), ((8+9+10+11+12+13+14)/10),........]Как это сделать?
>>1571098Бежать по первому списку циклом с шагом 7, брать от текущего элемента слайс из 7 элементов и делить на нужный элемент второго списка Например, так:j = 0for i in range(0, len(lst1), 7):..result.append(sum(lst1[i:i+7]) / lst2[j])..j += 1
Есть файл с n-нным количеством строк, нужно эти строки считать, но так, чтобы все было в одну строчку (без переходов на новую строку). Пробовал replace() заменить все '\n' на ' ', но никаких изменений не произошло. Може кто знает как эти строки из файла соеденить в одну сплошную строку?
>>1571089У меня как придётся получается 25 слов в минуту, во всяких туториалах не успеваю, за ютуберами, догоняю, пока они пиздят.>>1571097Посмотрел, реально удобнее выглядит, но надо ещё, наверное, скобки куда-нибудь на левую руку перенести>>1571113sqlite3? Подавал туда одну переменную, вместо кортежа? Мне хватило минут 15 чтобы понять в чём проблема
>>1571114> Подавал туда одну переменную, вместо кортежа?Ага.Надо '''запрос, (a,)''' вместо '''запрос, (a)'''.
>>1571141Не, я про символ возврата каретки. Короче, кроме замены \n попробуй ещё сделать replace('\r', ' ')
Какие часто используемые паттерные в flask/django?Хочу почитать, так бы банду четырех почитал бы, но время ограниченно
>>1571243Ты берешь один объект списка [1,2,3] и два раза ложишь ссылку на него в список a. Потом этот объект меняешь.
Сап, ньюфаг на связи. Куда можно вкатиться с питоном? Только в бэкэнд и дата сайнс? Или есть еще что-то?
Годнота на подходеhttps://www.kickstarter.com/projects/sentdex/neural-networks-from-scratch-in-python
Нашёл видос на ютубе, как написать парсер на питоне для headhunterhttps://www.youtube.com/watch?v=lgGkBh8IUokСписал код, а он не пашет, это вообще нормальная ситуация в программировании?Полный 0 в программировании пытается пиздить чужой код
>>1571498Код забыл!import requestsimport csvfrom bs4 import BeautifulSoup as bsheaders={'accept': '/', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10 14 2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}base_url='https://hh.ru/search/vacancy?area=1&search_period=3&text=python&page=0'def hh_parse(base_url, headers): jobs=[] urls=[] urls.append(base_url) session=requests.Session() request=session.get(base_url, headers=headers) if request.status_code == 200: request = session.get(base_url, headers=headers) soup = bs(request.content, 'lxml') try: pagination = soup.find_all('a', attrs={'data-qa': 'pager-page'}) count = int(pagination[-1].text) for i in range(count): url = f'https://hh.ru/search/vacancy?area=1&search_period=3&text=python&page={i}' if url not in urls: urls.append(url) except: pass for url in urls: request = session.get(url, headers=headers) soup = bs(request.content, 'lxml') divs = soup.find_all('div', attrs={'class': 'vacancy-serp-item'}) for div in divs: try: title = div.find('a', attrs={'data-qa': 'vacancy-serp__vacancy-title'}).text href = div.find('a', attrs={'data-qa': 'vacancy-serp__vacancy-title'})['href'] company = div.find('a', attrs={'data-qa': 'vacancy-serp__vacancy-employer'}).text text1=div.find('div', attrs={'data-qa': 'vacancy-serp__vacancy_snippet_responsibility'}).text text2=div.find('div', attrs={'data-qa': 'vacancy-serp__vacancy_snippet_requirement'}).text content = text1 + ' ' + text2 jobs.append({ 'title': title, 'href': href, 'company': company, 'content': content }) except: pass print(len(jobs)) else: print('ERROR or Done' + str(request.status_code)) return jobsdef files_writer(jobs): with open('parsed_jobs.csv', 'w') as file: a_pen = csv.writer(file) a_pen.writerow(('Название вакансии', 'URL', 'Название компании', 'Описание')) for job in jobs: a_pen.writerow((job['title'], job['href'], job['company'], job['content']))jobs = hh_parse(base_url, headers)files_writer(jobs)Полный 0 в программировании пытается пиздить чужой код
>>1571498Не списывай просто, пока хуй в видосе печатает, ты тоже печатай. Когда он будет пробовать, как работают куски его программы ты тоже пробуй, короче, делай, всё что он делает.
Почему при наполнении множества уникальными словами (>2000) из 3мб текста мне не хватает 30 гигов озу?
>>1571552Множество как и словарь по своему условию потребляет больше памяти чем другие типы данных, но у тебя очевидный косяк.
>>1571570input_characters = set()for sent in input_texts:____input_sentlist = sent.split(' ')____for word in input_sentlist:________if word not in input_characters:____________input_characters.add(word)
>>1571578input_characters = {}for sent in input_texts:____input_sentlist = sent.split(' ')____for word in input_sentlist:________input_characters[word] = Trueinput_characters = input_characters.keys()попробуй вот так, должно меньше кушоть
Я ничё понять не могу. Вот у меня есть функция os.rename(name,nName). Она выполняется только при условии, что я нажал кнопку (Гуи запилен на tkinter)yesButton=Button(frameButtons12, text="Rename", command=BSave(entryRe))Если я заместо nName подставляю какую-то определённую строку, то код выполняется. Но когда я оставляю там переменную, которая должна браться из поля ввода entrynName = entryRe.get()то выскакивает ошибкаFileNotFoundError: [WinError 3] Системе не удается найти указанный путь: 'New_Text_3' -> ''Да, как бы там действительно пусто и я понимаю, почему система не может записать файл с нулевым названием. Но я не понимаю, почему программа заранее считает что в поле ввода entry пусто, ведь команда os.rename идёт уже после получения содержимого поля entryRenName = entryRe.get()os.rename(name,nName)Следовательно сперва должно идти получение содержимого а уже потом переименованиеПолный кодhttps://pastebin.com/tHa6QLDm
Не могу понять, как мне составить гистограмму с частотой показателей в массиве c числами.Я хочу, чтобы по оси у была указана частота в процентах, сколько у меня встречается это значение, а по оси х - сам показатель, как на первом пикрелейтеде.А выходит у меня второй пикрелейтед, что являет собой полную хуету.Код: https://pastebin.com/UNX3wuNs
>>1569408 (OP)Аноны, как вы увидели, эта ссылка не работает https://drive.google.com/drive/folders/13YaFijvuH4dtv-PjUKVWLQ7ZIqXIfCLK Возможно есть другая ссылка на такой же диск, что был по этой? Поскольку по этой ссылке было больше всего книг, не хотелось бы терять такой замечательный диск.
Ребзи, я тоже нуфаня, поэтому строго не обоссывайте. Суть: Работаю с джангой, про рест апи почти ничего не знаю. Вообщем появилась задача сделать рест апи сервис для джанго приложения, однако рест джанги (Django Rest Framework) использовать нельзя. Вопрос: где-то можно посмотреть, как это реализовывать? Может туторы/гайды где-то есть, или видео? Подскажите пожалуйста молодому джуну
SELECT song_name FROM Info WHERE id=1как выполнить такой запрос через sqlalchemy?делаю так:db.session.query(Info.song_name).get(1)выдает:sqlalchemy.exc.InvalidRequestError: get() can only be used against a single mapped class.
euros_count = 100euros_per_dollars = 100 1.25dollars_per_rubles = euros_per_dollars 60print(euros_per_dollars\ndollars_per_euros)Как при помощи \n перенести строку между переменными ?
>>1569408 (OP)Сап, как крякнуть pycharm про, если 30 дней триала прошло? В инструкции написано зайти в "Configure" или "Help" и зайти в "Edit Custom VM Options..."А я не могу туда зайти, из-за того что триалка кончилась
>>1571872Что значит не проходили? У вас в школе для даунов запрещено брать информацию с интернета? Лол
>>1571811Я нашёл только принципы как это работает и небольшие примеры. А мне нужно создание полноценного сервиса, ибо я полный ноль в этом, к тому же время сильно ограничено. Поэтому тут и спросил, мб кто знает.
>>1571877Это всё каадратно-гнездовой способ преподавания людьми, которые ни дня не работали программистами, но зато "уважаемые профессора, которые преподают больше 50 лет".
>>1569408 (OP)Ребят, подскажите, плиз больше сайтов с задачками, желательно чтобы был раздел с элементарными. Ебусь с обработками массивов по два дня, хочу надрочиться на лайтовых задачках чтобы легче телега ехала
Утро в хату. Есть один скрипт на питоне, который я хочу зараспространить среди свой компании в виде веб-сервиса (доменное имя для меня уже подготовили, нжинкс я поднял).Вопрос в том, как мне запиздрячить на страничку свой питоновский код? Иными словами, хочу поднять на нжинксе страничку, где будет кнопка, например "зделоть пиздато". По нажатии на кнопку запускается мой питоновский скрипт, и юзер получает результат, например выводится сообщение "зделоно".В идеале мне нужно будет подучить жс, чтобы вывести кнопки к себе на страничку, но в целом, я даже хз, куда копать, что смотреть, какие гайды брать?
>>1571977nginx - это по большей части либо раздача статического контента (то есть никакого бекенда с логикой), либо прокси, то есть пересылка всех запросов на другой порт, на котором запущено приложение.
>>1572033Можно, конечно. Есть даже какие-то плагины.А ещё можно вообще без отдельного сервера обойтись и всё сделать на питоне.
>>1572039>>1572041Вот я и прошу помощи. Если можно сделать на фласке - есть ли годный гайд, как это все организовать? Особенно по сетевой части, а то я вообще в этом не разбираюсь. Мне вот в нашей корпоративной локалке выдали домен - vpupkin.ln, я смогу на нем захостить свое приложение? Я просто думал, что это ток через веб сервер можно сделать, там резолв просто организуется.
>>1572046Почитай по фласку пару туториалов каких-нибудь. Там можно на определённый URL (например, /) повесить функцию-обработчик, в которой можно вызвать твой скрипт, например.Фласк сам по себе веб-сервером не является, но с ним идёт сервер для разработки/отладки. Его всерьёз использовать не рекомендуется, но вдруг для нужд вашей организации хватит.Просто повесить в автозапуск скрипт, он будет слушать какой-нибудь порт и вызывать обработчик.А ещё можно использовать cgi, но там всё несколько сложнее, да и в 2020 никто так не делает.
>>1572046Хостишь приложение не на домене, а на сервере. Для адреса vpupkin.ln необходимо в A записи указать ip адрес сервера на котором будет твое приложение.
>>1572059А что такое А запись?>ip адрес сервераЭто адрес моего компа в нашей локалке, получается? Доступ к аппликухе будет только из-под нашей локалки.
>>1572055Можно с фласком на replit поиграть и понять подойдет или нетhttps://repl.it/repls/MindlessFoolhardyDaemons
>>1572071>А-запись указывает адрес, куда должен ссылаться Ваш домен. Обычно это адрес хостинг-сервера, на котором располагается контент (содержимое) сайта.>Это адрес моего компа в нашей локалке, получается?Если приложение будет на твоем компе запускатся то да, но возможно нужно будет какие-нибудь порты пробросить. Если я ошибаюсь пусть мудрый анон меня поправит
- SELECT song_name FROM Info WHERE id=1- db.session.query(Info.song_name).filter(Info.id == 1).one()для sql запроса через alchemy это единственный короткий способ?Когда пишу Info.query(Info.song_name).filter(Info.id == 1).one() то арёт на TypeError: 'BaseQuery' object is not callableИ стоит ли пользоваться select'ом на чистом sql запрашивать когда есть обертка sqlalchemy
Запихивать в докер небольшой скрипт пингующий сервера и алертящий в слак, если они легли, ок или из пушки по воробьям?
>>1572182Ты шо, сейчас же модно все докер сунуть, что б было.>>1572153Сама идея то норм, почему нет? Сунуть в докер возможно не стоило, но ради опыта - ок.Если тебе по работе надо такое, то взгляни на готовые сервисы ибо функционал там шире.
>>1572352Вангую у тебя было задание по конкатенации строк и тебе надо былоStr1 + '\n' + str2 но ты попал под троллинг
>>1572459Все так, я почему то забываю про кавычки все время. Книга эта конечно пиздец "Изучаем питон", сначала две три страницы "отборных" данных и прочих примеров, а потом -"Ну если вы новичок можете не акцентировать на этом внимание" В этом плане курсы героиновые https://ru.code-basics.com/ подиничамичнее, поэтому я комбинирую.
>>1572508Я лично щитаю, что нужно сначала пройти укус питона, получить знания синтаксиса, а потом зная синтаксис сразу в курс хирьянова по алгоритмам, там практики дохуя, как раз надрочишься. А лутц хуета.
Сап, питонач, есть пара полей на форме, и нужно проверить их на содержимое. Надо ли проверку по каждому полю выделять в отдельную функцию а потом вызывать их в рамках ещё большей функции или захуячить в одну большую? Не много if-else'ов будет?
>>1572777Если пишешь код, который будут читать другие люди то с таким подходом захуячить нужно тебя, то конечно нужно сделать несколько коротких легкочитаемых методов. А еще лучше нати готовое решение для валидации.
Практика программирования на Python 3, лекция №1 илиАлгоритмы на Python 3. Лекция №1Это одно и то же ??? Что выбрать ? Есть кто уже Хирьянова смотрел ?
>>1572995Ты смотрел или на слово сбайтился ? дело в том что это один и тот ж курс прост названия разные прост один новее (вроде так)
>>1573012Бля у этих лекций даже одна и та же практика. Твои действия ? Хочешь сказать разница только в риторике ?
Не очень понимаю, что значит stateless. Вот например есть antihammering защита какая-то на сервере, сохраняется некоторый список айпишников или логинов и время, в течение которого от них нельзя принимать попытки войти, это же уже некоторое состояние?
>>1573014Блядь, ты заебал, какого хуя ты такой тормозной? Не одна у них практика нихуя, я специально зашел, чтобы ещё раз посмотреть. В КУРСЕ ПРАКТИКА ПРОГРАММИРОВАНИЯ НЕТ АЛГОРИТМОВ. В КУРСЕ ПО АЛГОРИТМАМ НЕТ ПРО ГИТ, ПРО ПЕП, ПРО ТЕСТИРОВАНИЕ, МЕНЬШЕ ПРО ООП. Это тупо разные курсы. Может программирование это не твоё, если ты не можешь просто покликать по видосам в разных местах и посмотреть что там?
>>1573015>это же уже некоторое состояниеДа. Но обычно стейтлесс говорят про приложение. Это означает, что любой запрос может быть обработан любым сервером. Т.е. состояние вынесено наружу приложения, например, в бд. Например, сессию хранишь ты в jwt, а его юзеру записываешь в куки, запускаешь 10 копий приложения и теперь сессию берешь из каждого реквеста, т.е. у тебя в приложухе нет состояния сессии, которое надо поддерживать.
>>1573015Даже Keep-Alive-соединения - это уже atateful в каком-то смысле.Стейтфул изначально подразумевает архитектуру вида "подключился - отправил один или более запросов, получил на каждый ответ - отключился", причём построено всё так, что в общем случае нельзя отправить все запросы в новых подключениях (сессиях), всё обязательно должно идти через одно. Например, FTP или SSH.Стейтлесс же наоборот говорит: можете отправлять запросы в одном подключении, можете в разных, но результат от этого зависеть не должен. В результате, состояние не связывается с конкретным соединением, а гоняется туда-сюда при каждом подключении, как куки.
>>1573021>Т.е. состояние вынесено наружу приложения, например, в бд.То есть если есть какая-то база данных, к которой все сервера обращаются, то это всё равно stateless приложение?Как я понимаю, сам jwt нужен, чтобы избежать хранения сессий в такой базе данных, но с защитой от брутфорса так не получится, клиент не будет ничего хранить.
>>1573019Спасибо за информацию, с тебя инфы хуй дождешься. Не рили спс не нервничай, теперь можно и покумекать что выбрать кек пук.
>>1573025Но ведь браузеры на каждый запрос делают новое соединение, тогда получается, что в вебе всё stateless? Или тогда правильно сказать, что сам http протокол stateless, но серверное приложение само по себе может сохранять состояние, а может нет и при этом сохранение состояния в бд != сохранение состояния у приложения...
>>1573026>То есть если есть какая-то база данных, к которой все сервера обращаются, то это всё равно stateless приложение?Конечно. Суть в том, что конкретный процесс твоего конкретного приложения не имеет внутреннего состояния, от которого завит обработка запроса. Если он это состояния при каждом запросе берет из постороннего сервиса, то это не делает его стейтфул, а наоборот как раз.>Как я понимаю, сам jwt нужен, чтобы избежать хранения сессий в такой базе данных, но с защитой от брутфорса так не получится, клиент не будет ничего хранить.Jwt нужен чтобы хранить сессию на стороне клиента. Да вообще в данном контексте это не важно, главное что ты хранишь состояние не в своем приложении, а снаружи.
>>1573032Не обязательно новое, см. Keep-Alive.Stateless говорится про протокол HTTP, приложение практически никогда не бывает stateless (кроме простейших случаев, где что-нибудь налету считается и сразу возвращается пользователю).
>>1573035>приложение практически никогда не бывает stateless Да ну ты чего, наоборот же, практически всегда делают стейтлесс приложения, уж в вебе то точно. Иначе очень трудно масштабировать.
>>1573038Ну, стейтлесс оно может быть в плане того, что не хранит дополнительную информацию в ОЗУ. Но оно же всё равно грузит кучу данных из БД и иногда из файлов. Хотя это скорее философский вопрос, считать ли это частью приложения, или приложение - это чисто логика.
В чем отличия этих двух импортов?from bokeh.plotting import figure, show, output_file, output_notebookimport bokehТипо они по разному жрут память?
Суп питонач. Вопрос к адептам django по организации БД. Есть достаточно классическая задача. Хочу узнать у семпаев как ее лучше решить в БД:Есть таблица "Финансовая операция". Операция может быть на положительную или отрицательную сумму, пополнение или списание средств. Для этой операции должна быть причина. Вот собственно вопрос, как должна выглядеть и чем вообще быть эта таблица "причина".
>>1573043import jopaИмпортирует библиотеку с ее неймспейсами. Т.е. вызов метода govno будет выглядеть как jopa.govno()from jopa import govnoИмпортирует только метод govno в неймспейс проекта, т.е. этот метод ты можешь вызывать просто govno()from jopa import (звездочка блять)Импортирует все из библиотеки в неймспейс проекта, т.е. ты можешь вызвать какой-нибудь fart(), которого в твоем проекте нет, но есть в той библиотекеБудет лучше, если на самом деле разбирающиеся аноны меня поправят и дадут более четкий ответ
>>1573053Я знаю что различие в сокращенном варианте написания. Будет меньше писанины. Но меня интересует вопрос ресурсопотребления. Есть ли разница или нет?Просто я как ньюфаг, считаю что мне нужно прописывать полные пути к функциям. А в примерах постоянно импортируют методы и я путаюсь.
Питонисты, этой херней правда можно DDoS'ить?import threadingimport requestsdef dos(): while True: requests.get("http://example.com") while True: threading.Thread(target=dos).start()
Я в начале января говорил, что делаю онлайн магазин и не хочу брать бустрап, буду сам фронт делать. Не делайте так, пацаны, вы погрязните в этой хуете, если вы никаких нормальных курсов по фронту не проходили, вы проебете просто десятки часов дрочась методом тыка, пока не будет красиво. Лучше сделайте супер рест эйпиай, чисто в консоли без фронта, как в демке в этом выступлении https://youtu.be/pZYRC8IbCwk
Анон помоги, где я накосячил? Писал скрипт, считающий хэши файлов и столкнулся со след. проблемой: во время обработки больших файлов (>1gb) рандомно выдаёт другой хэш. Также имеет место высокая загрузка носителя во время работы(наверное это как-то связано)
>>1573514Не обращайтесь к атрибутамЕщё один механизм, способный замедлить программу — это оператор точка (.), который используется для доступа к атрибутам объектов. Этот оператор вызывает выполнение процедуры поиска по словарю с использованием __getattribute__, что создаёт дополнительную нагрузку на систему. Как ограничить влияние этой особенности Python на производительность?# Медленно:import redef slow_func(): for i in range(10000): re.findall(regex, line) # Медленно!# Быстро:from re import findalldef fast_func(): for i in range(10000): findall(regex, line) # Быстрее!>https://habr.com/ru/company/ruvds/blog/483678/
>>1573622Если с ориентацией на рынок, то ни во что кроме обозначенного тобою, при том веб намного приоритетнее.
>>1573665Писать на питоне с оглядкой на производительность - пидорская тема. На питоне нужно писать читабельный код, близкий к английскому тексту. Если все работает и хочется быстрее, тогда уже запускаешь профилировщики и переписываешь проблемные методы на сишечке. Оператор точка им, блядь, тормозит. Пиздец просто.
>>1569408 (OP)По какой причине любые дескрипторы надо объявлять как атрибуты класса? Почему если я буду ставить дескрипторы скажем внутри метода __init__ они не будут работать? Что за пидорство?
>>1573779Наш ответ Чемберлену: https://tjournal.ru/flood/70906-navalnyy-reshil-nauchitsya-programmirovaniyu-na-python-poka-nahoditsya-pod-arestomА ещё есть это: https://life.ru/p/118196
>>1573802Нужно знать про типы данных и индексы, что/куда/почему.Еще было бы неплохо про транзакции и прочее БД-специфичное иметь представление.
>>1574633Мне "погружение" зашло после официального туториала у последнего есть старый, но более-менее актуальный перевод: https://ru.wikibooks.org/wiki/Python/Учебник_Python_3.1
>>1574732Быдлокожу именно на Змее уже почти год. Подумал, будет полезным подрочить системное программирование на нем (пусть оно и более каличное чем на любой низкоуровневой ебале вроде того же С)
>>1574743Есть обёртки WinAPI/POSIX API для питона. Можно написать какой-нибудь системный сервис. Что-то более низкоуровневое получится вряд ли.
>>1574597Потому что Гвидо не осилил даже ast-парсер, а с тех пор всем стало похуй. Если тебя ебёт скорость, тебе не нужен питон.
Что происходит когда я сравниваю результаты функций и почему всегда выдает True?def inta(): a = 1 print(a)def intb(): b = 2 print(b)>>inta() == intb()12True>>
>>1574755Не имеет значения, что ты принтишь в функции, важно только возвращаемое значение. Ты ничего не возвращаешь, то есть неявно возвращаешь None. None, очевидно, равен None.
>>1574755Твои функции печатают единицу и двойку, но ничего не возвращают. Поэтому == сравнивает два None
>>1574760Лол. Можно было и догадаться. Мне просто мысль пришла что я могу так сравнивать содержимое самой функции, идентичны ли они.
>>1574767Такое сравнение было бы без скобок:inta == intbНо это сравнит ссылки на функции, но не их код. Простого способа сравнить код нет.
Еще вопрос. Есть декоратор и функция для оберткипусть декоратор . def decor(func):. def wrapper():. print('govno'). func(). print('mocha'). return wrapperи есть функция hello() которая выводит hello_worldи есть функция decor_hello, которая делает тоже самое но обернута в @decorполучается @decor каким то образом меняет код функции decor_hello и этот самый decor_hello вместо обычного hello_world выводит>>decor_hello()govnohello_worldmocha>>Это значит что каким то образом, не знаю каким, @decor меняет код функции decor_hello и если бы у меня был способ сравнить код, примерcode_cmpr(hello, decor_hello)он мне бы выдал False?>>
>>1574788Декораторы ничего не меняют. Они оборачивают вызов одних функций в другие. Что-то типаf = decor(f)
>>1574796Действительно, получилось в ручную так сделать, спасибо. Немного непривычно правда, зато понятно как декораторы работают. Получается вот зачем он wrapper() возвращает, чтобы потом его функцией оберткой и активировать.
Какие профиты от тайпинга? Если:>The Python runtime does not enforce function and variable type annotations. They can be used by third party tools such as type checkers, IDEs, linters, etc.Не троллю, просто интересуюсь.
>>1574827Давнич ты. Я сравнивал не вызовы функций __call__, а сами функции как объекты. Как видишь, оператор == для функций не имеет смысла можно канешн сравнить f == f, но что конкретно ты захочешь этим получить я хз
Есть два питоновских скрипта. В скрипте №1 крутится бесконечный цикл (опрос оборудования), и по сигналу из скрипта №2 этот цикл должен прерываться. Как это можно реализовать? я правильно понял что это можно сделать только с помощью многопоточности и модуля threading
>>1575036да, запускаешь первый цикл в треде, добавляешь в него опрос переменной типа while not peremennaya:. А потом из второго цикла выставляешь peremennaya в 1, чтобы остановить первый цикл
>>1575036Можешь при запуске скрипта1 создавать файл и в цикле проверять его наличие. Если файл удален, то завершаешь скрипт. В скрипте2 удаляешь этот файл если надо завершить скрипт1.
Как в питоне реализовать проверку ошибок? То есть, если происходит ошибка - то запускается определённая ветка if
>>1575287Или что-нибудь вродеif error == 'oshibka_1': ...elif error == 'oshibka_2': ....это если возвращаются функциями или ты их сам на генеришь в функции-методе, в которых надо обрабатывать.или по сути примерно тоже самое, но с механизмом исключений try-except, он более мощный, но для более сложных случаев.
Есть телеграм бот, который задеплоил на сервер pythonanywhere, теперь хочу прикрутить к нему базу данных, скорее всего sqlite3Подскажите как ее залить на сервер
>>1575308Можно обмазаться подпроцессами.>>1575036Можно обмазаться IPC через сокеты или файлы. Или очереди.
Как в pyCharm редактировать одинаковое слово во всем проекте ? Знает кто ? Или где узнавать такое ? Не гуглитсо
>>1575374Оно? https://www.jetbrains.com/help/pycharm/rename-refactorings.htmlПервая ссылка в нигуглитсо
>>1575508на экране суде по всему всё хорошо, кодировка срабатывает, а вот в файл заливается то же что и было до. Т.е. без изменений.
>>1575295class Oshibca(Exeption):__passdef fun():__raise Oshibcatry:__fun()except Oshibca:__print('')
>>1575497>f.read().encode('cp1251').decode('cp1252')Ты сначала кодируешь в 51, потом раскодируешь 52. По логике надо всё наоборот. С другой стороны ты уже расписал кодировки когда файлы открывал, так что я не уверен, что это вообще нужно. Хз короче, я у себя не пробовал.
Блять помогите а. Смотрю курс Хирьянова и первая практика задание про Робота я скачал но там задачи а куда ответы то пихать уже решенные что бы видеть как сам робот ходит. Где графен то как на картинке ? Нихуя не понятно
>>1575657Ты скачиваешь, открываешь питонофайл с лабой, там функция есть, её меняешь так, чтобы робот выполнил что надо
А где лучше всего искать удалёнку на западного барина сегодня? Опыт 6 лет, английский в порядке. Есть у кого такой опыт?
>>1575851Ну это фриланс, а я нацелился на конкретную фирму. Я пробовал несколько раз вкатиться в фриланс, кстати, и всегда заканчивалось ничем.
Как просмотреть в консоли от чего зависит конкретный пакет и какие установленные пакеты зависят от него самого?.. Помню, как-то можно было сделать, но хз как
Надеюсь недочеловек не будет опять агриться. Короч нажал что то и теперь pyCharm не дописывает имена которые уже были, а показывает какие то методы или что то типо, не могу найти как вернуть как было. Классека даунизма короч.
В Джанго проектах видел импорт с точкой в начале как:from .models import PostЧто это значит?.. Модуля с именем .models нет нигде. Думал что это означает "из той же папки где находится этот скрипт обратись к файлу models.py и импортируй оттуда Post". Пробовал сделать так же в рандомном проекте - вылетает ошибка: ModuleNotFoundError: No module named '__main__.test111'; '__main__' is not a package
>>1576329Это файл models из твоей директории. Когда делаешь импорт через точку, то импортируешь компоненты из файла своей директории. Например from .urls import urlpatterns
>>1576281Все ж чотко обьяснил. Дописатор слов не работает. Он работает только на функции, операторы и всякое такое а раньше работал на любые слова(имена) если они повторялись. Можт как настройки можно сбросить к стандартным или чото типо этого
>>1576357Да забей, ты быстрее переустановишь и настроишь всё заново, чем кто-то тут тебе поможет.Погугли, где пайчарм хранит папку с настройками, и удали её, либо сохрани в другом месте.
>>1576357Вот по code completionIf code completion doesn't work, this may be due to one of the following reasons:The Power Save Mode is on (File | Power Save Mode). Turning it on minimizes power consumption of your laptop by eliminating the background operations, including error highlighting, on-the-fly inspections, and code completion.Your file doesn't reside in a content root, so it doesn't get the required class definitions and resources needed for code completion.Refer to Configuring folders within a content root for more details.A file containing classes and functions that you want to appear in completion suggestions list is marked as a plain text file.External libraries that contain functions that you want to appear in the completion suggestions list are not added as dependencies or global libraries.https://www.jetbrains.com/help/pycharm/auto-completing-code.htmlмимо нуб
>>1576516ты про переменные? если они у тебя ранее не определены, определены внутри класса/функции или не импортированы, то дальше по коду они не будут автокомплитится.вообще скриншот покажи, так проще будет.>мимо нуб
>>1576488Насколько я помню, эта проверка на то, красил ли ты сам уже ячейку. Тебе нужно проверять верхнюю стену
>>1576598Ну можно переделать в while true и в конце, если стена справа то break. Но по сути как-то особо красиво переделать не получится
За какое время можно осилить http://composingprograms.com/ , хочу поставить себе рамки самообучения для дисциплины. В день могу тратить 3-4 часа на это.
А есть какой-то грамотный курс, чтобы бэкэндер мог быстро и уверенно вкатиться в современный фронт? Чтобы там было ориентировано на людей, которые уже собирали фронт кусками, парсили html, спокойно пишут на жс и всё такое, но нихуя не понимают, как верстать страницы правильно.
>>1576766Да да, я уже вспомнил, жаль што импорт там платный, мб есть фришное типо umbrello?Есть конечно vertabelo.com но там нет генерации в питон
>>1576859импорт sql и потом уже ER, наподобие vertabelo, и штоп в питон модели можно было, дада я губу раскатал
>>1576659>>1576715Т.е. тут прописан KeyError и если вылезет ошибка другого типа, то он её не отработает и напишет?
>>1576613mov(r, v) Поместить значение v в регистр rчто это за ебола и как в этих заданиях про робота использовать?
Нашёл проект на жидхабе с django, в файлах пишет шо версия 1.9Какой вариант проще, создать сразу на версии 3 или 2 lts, или же попытаться запустить под 1.9 (что не получается)?
Чтото я найти не могу.При таком раскладе./main/root/lala.py./main/repository.pyКак мне в лала заимпортить репозиторий?from main.repository import * не работает.
PyCharm, или VS Code? До недавнего времени я всегда склонялся к PyCharm, потому что я с ним уже 4 года и знаю его довольно хорошо. Но железо (mac pro 2013, 8Gb memory) побудило меня испробовать VS Code. И теперь я сижу только на нем. VS Code ничем не уступает, а работает гораздо быстрее. Рекомендую всем, у кого оперативки менее 12Gb.
Суть такова. Есть простой код на Си, надо его переписать на питоне.Пример кода на Си представлен здесь:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/accounting/psi.rstВ Линуксах начиная с 5.2 появилось улучшение подсистемы PSI, позволяющее определять превышение заданных метрик с использованием epoll().Первым этапом прелагается вписать строку в дескриптор файла /proc/pressure/memory, и далее проводить опрос с помощью epoll().На первом этапе возникает проблема.Открываю дескриптор, получаю его номер, все ОК. Но при попытке записи предлагаемой строки получаю ошибку [Errno 22] Invalid argument. С сишным кодом проблем нет, все работает как задумано.Код на питоне: https://pastebin.com/5Sj98iTQВ чем ошибка? Как исправить?
>>1577573на винде твой код работает. Только у тебя в коде 2 раза fd вместо fd1 упоминается + в моём модуле os нету os.O_NONBLOCK, а dir_fd=None вабще неизвестный судя-по всему аргумент
Как вообще искать работу в Дата Саенсе на Питоне ньюфагу?.. В бэкенд в портфолио можно представить свои проекты сайтов, которые ты напилил, а с датасаенсом что? Потешные ML-модельки на собес приносить? Там в одиночку ничего существенного родить все равно не выйдет
>>1577599Ты немного не в тот тред зашел.К МЛщикам иди.У датасаентистов питон просто как инструмент, не более, думаю тебя спросят про научные либы питоновские и все.
>>1577339 if not wall_is_on_the_right(): while not wall_is_on_the_right(): move_right() if not wall_is_on_the_right(): fill_cell() move_down() if not wall_is_on_the_left(): while not wall_is_on_the_left(): move_left() if not wall_is_on_the_left(): fill_cell() move_down() if not wall_is_on_the_right(): while not wall_is_on_the_right(): move_right() if not wall_is_on_the_right(): fill_cell() move_down() if not wall_is_on_the_left(): while not wall_is_on_the_left(): move_left() if not wall_is_on_the_left(): fill_cell() move_down() if not wall_is_on_the_right(): while not wall_is_on_the_right(): move_right() if not wall_is_on_the_right(): fill_cell() move_down() if not wall_is_on_the_left(): while not wall_is_on_the_left(): move_left() if not wall_is_on_the_left(): fill_cell() move_down() if not wall_is_on_the_right(): while not wall_is_on_the_right(): move_right() if not wall_is_on_the_right(): fill_cell() move_down() if not wall_is_on_the_left(): while not wall_is_on_the_left(): move_left() if not wall_is_on_the_left(): fill_cell() move_down() if not wall_is_on_the_right(): while not wall_is_on_the_right(): move_right() if not wall_is_on_the_right(): fill_cell() move_down() if not wall_is_on_the_left(): while not wall_is_on_the_left(): move_left() if not wall_is_on_the_left(): fill_cell() move_down() if not wall_is_on_the_right(): while not wall_is_on_the_right(): move_right() if not wall_is_on_the_right(): fill_cell() move_down() if not wall_is_on_the_left(): while not wall_is_on_the_left(): move_left() if not wall_is_on_the_left(): fill_cell() move_down() move_right()Заценщи какой я тупой, у меня или так или робот просто убегал за край карты
>>1577653непонятно, там кароч сложность в том нужно как то повторить функицию нужное количестов раз по отделности, что бы между повтороми делать операцию
Да! Третья версия питона вообще огонь! Сейчас изучаю новую версию 3.4, говорят питон стал асинхронным, там появились корутины
>>1577546Да! Третья версия питона вообще огонь! Сейчас изучаю новую версию 3.4, говорят питон стал асинхронным, там появились корутины
>>1572839Спасибо.Теперь нубовопрос: есть несколько полей, у каждого из которых надо проверить заполнено или нет. Чтобы не писать по функции на каждое поле, надо использовать классы?
>>1578382Т.е., например, есть поля EditLine1 и EditLine2, мы пишем что-то вроде:def(self, x):--val = self.x.toPlainText()--if val is '':...Вместо x подставляем эдитлайны?
Опять троллинг какой-то в треде? Есть WTForms. Я не пользовался, но это должно быть именно то, что надо.
>>1578388Если ты проверяешь поля по отдельности, то используешь эту функцию по событию onChanged или textChanged или что там у тебя. Если проверяешь все поля формы вместе, допустим, по нажатию кнопки, собираешь все нужные поля формы и в цикле передаешь значение каждого поля в функцию проверки. На чем ты эти формочки пишешь?
1. Укус Питона2. Документация по Джанге3. Актуальная книжка по ДжангеНормальный план чтобы освоить веб-разработку или перед вторым пунктом еще что-то почитать?
>>1578442Ты читать книжки или писать код собираешься? Бери туториал по джанге, и по ходу дела читай документацию по мере необходимости.
>>1578510Так даже лучше. А то на том же реддите очередная волна читателей книжечек плачется, что программирование не дается.
>>1578505Тутора достаточно будет чтобы хотя бы немного понять как самому делать веб-приложения?Пока нихрена не понимаю зачем нужны эти views, models, urlconf.
>>1578517 А где практику приматам искать ? Не подскажете ? Кроме говнокурсов есть что ? А то там раз сделал и забыл.
>>1578486Ты шо творишь, демон? Иди читай про функции, передачу значений в функции и локальные переменные.
>>1578527Для этого туториалы и существуют, потыкаешь, поймешь что куда примерно писать, какой путь твой запрос проходит, будет хоть какая-то картина происходящего в голове, сможешь конкретные вопросы задавать, а тут мы тебе уже поможем, здесь все твои друзья.
>>1578555Эта хуйня сработала кроме нижней строки где у. Но в самой функции у не переменная ? Как это называется что ето ? Оно как бы работает а как хуй его знает
>>1578517>очередная волна читателей книжечек плачется, что программирование не даетсяО таком обычно любители учиться по видосикам на ютюбчике плачутся.
>>1578589>I started with Codecademy in 2016-ish when almost everything was still free. I have finished the Python modules of that as well as with SoloLearn. I have read Automate the Boring Stuff and Python Crash Course as well as following along with the examples cover to cover. Now I am re-reading Automate, Crash Course, and Mark Lutz Learning Python, 5th edition. To add to these books I have: Complete Guide For Python Programming Deep Learning with Python, Fluent Python, Learning Python Network Programming, Rapid GUI Programming with Python and Qt, Python High Performance Programming.>I understand syntax, can usually fix an error and debug, but to actually sit down and program anything of any real value eludes me.Ну вот человек курсы проходил, книги читал и даже перечитывал. И не может понять что не так.
>>1578595>Starting to lose hope with learning PythonI have been interested in Python for over 7 months. I have read and followed along through Python Crash Course. I felt pretty confident with it. I wanted to learn more so I decided to start following along with Automate the Boring Stuff. Im starting to feel discouraged from learning, when it comes to writing code in the Practice Projects; I am 100% completely lost.Вот второй такой же. Книжки, курсы. Так может лучше говнокодить тогда, чем книжки просто читать.
У них бекэнд на джанго, судя по вакансиям. А я думаю, почему всё так хреново грузится и даже зайти с первого раза не может.
>>1578600Он учился семь месяцев, и после этого он не мог осилить задания из боринг стаффа? Это блять шутка?
>>1578595>I started with CodecademyНачал с бесполезного дерьма, которое ничему не учит, и каждый новый курс объясняет одни и те же вещи, как будто я двенадцатилетний дебил, в первый раз увидевший компьютер.>>1578600>Так может лучше говнокодить тогда, чем книжки просто читатьТак их и не надо просто читать. Естественно, что практике можно научиться только через практику. Но начинать надо с базы, которая берётся из книг. А потом уже книги используются, чтобы разобрать непонятные моменты. А курсы обычно по-быстрому дают основы, ничего не объясняют, и в конце говорят "всё, вы готовы", что вселяет в человека ложную уверенность.
Я мощно заебался. Если x за пределами функции не робит, если внутри то всегда одно число 1. А мне надо что бы я возвращался к переменной и в ней всегда было на +1 больше
>>1578767https://python-scripts.com/scope просвящайся (хз, насколько там хорошо объяснено, но там как раз про это).В твоём случае нужно написать:global xнадx += 1
>>1578767В то время как в JS и Lua локальность указывается вручную (иначе интерпретатор ищет переменную во внешних областях видимости), в питоне вручную указывается нелокальность (nonlocal и global).ты всё равно что написал на JS:function step() { var x += 1 print(x)}Естественно, получишь UnboundLocalError: local variable 'x' referenced before assignment
>>1578767Я тебе выше что написал?> Иди читай про функции, передачу значений в функции и локальные переменные. Почему не сделал? Считаешь, что такое должен двачик объяснять?
Есть два датафрейма пандаспервый:A = 1,2,3,4,5B = q,w,e,r,tвторой:A = 1,2,3,4,5С = a,s,d,f,gЯ хочу получить следующее:A = 1,2,3,4,5B = q,w,e,r,tС = a,s,d,f,gНо через метод pandas.concat(frames)получаю:A = 1,2,3,4,5,1,2,3,4,5B = q,w,e,r,t,NaN,NaN,NaN,NaN,NaNС = NaN,NaN,NaN,NaN,NaNa,s,d,f,gВесь день пытаюсь. Ниче не выходит. Помогите.
>>1578876Всё. Нашел решение.frames = [df1, df2]result = pandas.merge(right=df1, left=df2, how="outer")
>>1569408 (OP)В реальных проектах может совмещаться orm и запросы на чистом sql? Или там выбирают только что-то одно?Типо основную crud логику на орм написать, а что-то сложнее писать самому?
>>1578924Алсо, вот у меня есть 300 строк питоновских функций с sql запросами внутри, мне надо их пытаться как-то в ооп стиле организовать? Выглядит сейчас это говняно, но я не уверен, что ооп много даст
Метаклассы и дескрипторы - эта шняга же обычному разработу нахрен не пригодится? Только красноглазым, разрабатывающим Питон-фреймворки?
>>1578875Мне примерно сорок лет понадобилось бы что бы догадаться до такого, я пытался 2 переменных сделать но вообще не так.
Есть что нить бодрое полуприкладное книжное для матики ? Что бы такие штуки не ставили мозг в тупик ???
>>1578767Я решал такую проблему чкрез класс + справочник, типа:test_dict ={}class VarClass: def __init__(self, user_id): self.user_id = user_id self.hui = None self.pizda = Nonetest = 'маня'test2= 'id мани'user = VarClass (test)test_dict[test2]= userdef func1 (x): user.hui = 1 + xdef func2(y): user.hui = user.hui - 15ВАЖНО: если перезапишешь класс в справочник, то данные проебутся
>>1579201И кст если ты игру пишешь, то может с классом тебе даже удобнее будет хранить информацию о объектк
>>1578767Осильте уже генераторы, что ли. Их же специально для этого придумали.def step():..x = 0..while True:....yield x....x += 1s = step()next(s)next(s)
>>1579273Ищи практику за так, интервьюируйся у них, а потом, когда перезвонят, скажи что уже нашёл за деньги.
Я просто в ахуе, какие проблемы у вас вылезают при выполнении заданий робота, они блядь на циклы, условия и функции, какие нахуй генераторы, какие классы, чего вы делаете вообще там? >>1579273А что за сайт?
>>1579275>>1579287>>1579317Собственно, эти скрины были к тому, что я год с полного нуля учился делать некоторые штуки с пистоном и алгоритмами, а теперь думаю, что зря потратил это время. Нужно было вротендом заниматься, в моем мухоебинске хоть какие-то вакансии для этого есть.Блин, ещё и не в тот тред похоже написал, простите.
>>1579323Вряд ли ты напрасно время потратил. Хотя лучше сам питон за год задрочил бы, чем алгоритмы. При этом, если ты был полный ноль, то сейчас уже нет и все твои текущие знания не будет лишними при изучении жс, если уж решил на него перейти.
>>1579440Ты берёшь каждый элемент первого списка и к нему подставляешь каждый элемент второго. А тебе нужен один цикл, чтобы брать по элементу из двух
У меня верхняя поебота не работает как надо хотя все правильно делаю, встает в левом нижнема надо в правом нижнем
Объясните штуку с табуляцией и пробелами. Искал инфу - наткнулся на два лагеря из тех, кто топит за одно или другое. Что, собственно использовать? Читал, что можно сделать автоматическую разбивку табуляции на пробелы. Как реализовать это в PyCharm'е?
>>1579574>Как реализовать это в PyCharm'е?там всё реализовано по дефолту. И вабще, почему тебя этот вопрос волнует?
>>1579578Я раньше работал с другими языками, потому и удивился, увидев такой подход к ограничению скоупа. Вспомнил клин код и у меня возник этот вопрос, ведь если кто-то другой будет использовать код, всё должно быть чисто в этом плане. Но раз в PyCharm'е с этим всё норм, то ладно. Пожалуй, изучу его получше, дабы таких вопросов не возникало. Спасибо.
Есть 42 совета для pycharma, какие считаете полезными?https://www.jetbrains.com/pycharm/guide/playlists/42/Что еще юзаете в чарме?
Посоветуйте каких-нибудь материалов(лучше курсов) по структурам данных и их представлению в питоновской стандартной библиотеке. Ну и вообще про стандартную библиотеку, про итертулс и всё такое.
>>1573618Так ты ж весь файл в память читаешь, просто read() где-то отсекается и всё. Тебе надо читать файл блоками и подавать на хешированиеhttps://askdev.ru/q/poluchit-md5-hesh-bolshih-faylov-v-python-10548/
>>15795871) score1, score2 = 0 не работает. Надо score1, score2 = 0, 0 или score1 = score2 = 0. Второе предпочтительнее, на мой взгляд.2) такой цикл через while нет смысла использовать, когда можно:for _ in range(100): ("_" используется, когда нам значение не нужно это, как тут)3) хз, какой лучший вариант для рандома, но точно не твой. Проще random.randint(0, 1). Плюс, если у тебя будет 1.00, то ни одна переменная не получится +1, так и задумано? Переделанный вариант - пикрил.4) также можно, вообще рандомом сгенерировать себе score1, а затем вычесть из 100 его и это будет score2. Либо score1 можно генератором списка, а не циклом получить, а затем уже опять же получить score2 = 100 - score1:>>> import random>>> score1 = sum(random.randint(0, 1) for _ in range(100))>>> score2 = 100 - score1>>> print(score1, score2)51 49
Сап питонисты. Пишу свой ламповый манга-сайт с помощью джанго. Сейчас на сайте присутствуют следующие адреса:1. /manga/ -> здесь отображаются все обьекты моей модели MangaList (название манги, описание)2. manga/<slug:post>/ - детальная страница манги. Здесь указаны название манги, описание и т.д. (т.е например есть манга Naruto, следовательно она имеет адрес manga/naruto-is-cool)Теперь непосредственно проблема:Бд имеет две таблицы (и связь один ко многим): MangaList(здесь название манги описание и т.д), а также MangaImages(здесь есть поле mangaid = models.ForeignKey(MangaList, on_delete=models.CASCADE, related_name='manga_images') а также после с картинкой). Вроде все работает, картинки сохраняются под айдишкой MangaList. Но у меня вообще нет идей как отображать адрес с картинкой определенной манги. Т.е я в manga/naruto-is-kruto/ должен клацать по "прочитать" и попадать в /manga/naruto-is-kruto/watch/. Но ничего не получается, я и метод absolute_get_url прописывал для второй таблицы и {% url "manga_watch" %} в шаблоне прописывал, но все не получается.Прошу помощи у вас. Я хз как это прописывать.https://pastebin.com/4Yq6caW8
Помогите написать генератор случайных чисел отсюда https://docs.rs/GSL/0.4.26/rgsl/types/rng/algorithms/fn.cmrg.htmlУ меня как-то не очень выходитdef seedE(x, y, a_1 = 0, a_2 = 63308, a_3 = -183326, b_1 = 86098, b_2 = 0, b_3 = -539608, m_1 = 231 - 1, m_2 = 2145483479): def randE(): nonlocal x, y, a_1, a_2, a_3, b_1, b_2, b_3, m_1, m_2 x = (a_1 x[i-1] + a_2 x[i-2] + a_3 x[i-3]) % m_1 y = (b_1 y[i-1] + b_2 y[i-2] + b_3 y[i-3]) % m_2 z=(x - y)%m_1 return x_n return y_n return z_n return randEПо -идее там надо еще первые 3 штуки x и y задать, но массивы в функцию как-то не запихиваются.
>>1580322Был аналогичный пример с более простым генератором https://pastebin.com/B5Djw8f0Попытался сделать нечто похожее.
>>1580326Там хитрая closure функция. Чтоб значения из внутренней записывать во внешнюю. Я просто попытался повторить. Есть у такого подхода перспективы или сразу ясно, что тут такое не сработает? Я не до конца с closure функциями разобрался, поэтому не знаю. В простом примере там просто переменные были, а тут надо еще 3 предыдущих значения запихнуть как-то.
>>1580328Уточка думает, что нужно в первую очередь понять, как идёт поток выполнения программы. Что меняется, где и когда. Если хочешь, начни с более простого примера.
>>1580338>>1580333Если бы я знал, то не спрашивал. Алгоритм сам простой, но закодить я хз как. Причем именно в виде функции.Надо задать первые 3 значения x, y. Дальше x = (a_1 x[i-1] + a_2 x[i-2] + a_3 x[i-3]) % m_1y = (b_1 y[i-1] + b_2 y[i-2] + b_3 y[i-3]) % m_2z=(x - y)%m_1будут давать новые значения. Но вот как записать эти первые 3 значения и куда и как добавлять новые я не знаю.
>>1580342Уточка имела в виду поток программы здесь >>1580325 описать простыми словами. Тогда можно будет двигаться в более сложную. (Если ты, конечно, хочешь именно через клозуры генератор сделать)
>>1580348Там lcg генерит новые seed и дает их в seed2. seed2 как бы хранит значения.> (Если ты, конечно, хочешь именно через клозуры генератор сделать)Какие еще варианты? Если там проще, то хорошо. Главное чтоб потом можно было массив сгенерировать длины N rand(N).
>>1580356Давай ещё подумаем, чем отличается тот алгоритм, что ты сейчас пишешь, от этого более простого примера. Мы начнём с того, что посмотрим, с чего начинаются они. С чего начинается простой?
>>1580365Задаем seed например 1, seed переписывается на (1*а+b)%m и так по кругу. Как я понимаю в сложном надо 6 сидов задать по 3 на x и y?
>>1580369>и так по кругуИ так далее. Потому что этот алгоритм движется вперёд.А куда движется >>1580317?
>>1579915Долго с джангой не работал, сидел плотно на SQL. Но я бы сделал так: Делаешь связь много ко многим и уже с помощью этой сущности делаешь представление например: (manga_id, manga_pic_url) и от сюда хуяришь url-ки на сайт. Или можно без представление, просто через отношение много ко многим как например в пикрелейтед.
>>1580387https://dpaste.org/2cqf>Долго с джангой не работалНу что то вроде этого. Потом с помощью запросов кидаешь все что нужно на сайт.
>>1580371https://pastebin.com/VdPCRduTНу, уточка что-то накалякала, может пригодится, когда проснёшься.
>>1580456Или, если хочется совсем клозурами обмазаться (и получить доступ к изменению семян), то такhttps://pastebin.com/rMAwGMMY
Гайз, а подскажите как создавать обьекты классов с консоли ввода, а не внутри самого кода? То есть чтобы вывести "введите имя, введите номер и т д" и это записывалось в класс.https://pastebin.com/ciJhGrHh
>>1580915это да, но я хз как этот инпут к конкретному полю класса привязать. И ещё я пока не очень понимаю как сделать так, чтобы с каждого последующего инпута создавался новый экземпляр класса: типа сначала мы вводим х1.имя, х1.номер, х1.ещечтонибудь, а потом то же самое для х2, х3 и до хn
Есть ли способ напрямую получать доступ к областям памяти объектов?(вон на пикриле дефолтное repr-представление объекта)Можно ли: также получить у рандомного у объекта во время выполнения проги область памяти, на которую он ссылается? И можно ли по полученной области памяти получить ссылку на сам объект?..
>>1580969По хорошему - нет.Но ты можешь написать расширение на сишке, которое будет принимать объект и возвращать адрес, функцию для обращения к адресу и чтения/записи... И получить UB в высокоуровневом и безопасном питоне.
>>1580960> я хз как этот инпут к конкретному полю класса привязатьМожно разбить введенную строку на список, а затем распаковать при инициализации класса, как пример построчно:new_contact_input = 'Alice Unknown,89001234567,01.01.1999'new_contact_list = new_contact_input.split(",") # вернет ['Alice Unknown', '89001234567', '01.01.1999'] в new_contact_list new_contact = FRIEND(new_contact_list) # распаковка списка, то же самое, если передать в качестве аргументов: 'Alice Unknown', '89001234567', '01.01.1999'> И ещё я пока не очень понимаю как сделать так, чтобы с каждого последующего инпута создавался новый экземпляр класса: типа сначала мы вводим х1.имя, х1.номер, х1.ещечтонибудьАналогично первому варианту, только аппендить в список:new_contact_list = []for i in range(3):....new_contact_list.append(input(f"Ввод поля #{i + 1}: "))new_contact = FRIEND(new_contact_list) > а потом то же самое для х2, х3 и до хn Полагаю, что тебе нужно это в список складывать (или словарь). В данном случае это нужно вложить еще в один цикл и, например, спрашивать после создания первого, нужно ли еще одного создавать. Твой код нерабочий, но если убрать numContacts (нейминг тоже неправильный, правильно типа num_contacts), то вот такой пример можешь попробовать, чтобы увидеть как оно работает:contacts = [FRIEND('Alice Unknown', '89001234567', '01.01.1999'), FRIEND('Suika Ibuku', '8999999999', '09.09.1999')] # два экземпляра класса FRIEND (тоже неправильный нейминг, классы в CamelCase) в спискеcontacts[0].displayInfo()выдаст:Создание нового контакта...Создание нового контакта...Имя: Alice Unknown, Номер телефона: 89001234567, Дата рождения: 01.01.1999.
>>1581051Съело зведочки, в этих строках они перед new_contact_list:new_contact = FRIEND(new_contact_list)new_contact = FRIEND(new_contact_list)
>>1569408 (OP)Как отсортировать dictionary:{'1': '7', '0': '13', '3': '4', '2': '1', '5': '2', '4': '3'}чтобы было:{'0': '13', '1': '7', '3': '4', '4': '3', '5': '2', '2': '1'}?python 3.2.5
>>1581222Всё, я понял.>t[1]->>int(t[1])В dict чёт криво конвертируется, ну и ладно: https://rextester.com/HXZU89024
>>1581215А зачем тебе сортировать словарь? Это же словарь, он по определению не должен быть сортирован. Может тебе для твоей задачи другая структура данных нужна?
>>1581257Очевидно, что анон хочет не dict, а что-то подобное с ключами и значениями, но отсортированное. Например, чтобы вывести красивую упорядоченную табличку на экран.
Салют, как сделать чтобы числа выводились до сотых, даже если второе число 0.8.2 > 8.205.0100 > 0.004.50и так далее Считал я перцентиль, среднее, медиану, самое большое число и самое маленькое из файла с числами. Использовал NumPy
Самое время поработать над шапкой, пацаны.https://dumpz.org/bqyrfCbEPA9tНемного скорректировал то, что уже имеется. Вносите свои изменения.
>>1581432Ноль перед двоиточием необязательно, пробелы после не нужны (если в формате их получить не хочешь).
Хочу сделать сайт, который будет брать данные из эксель-файла и с ними работать: строить графики, анализировать, выводить данные за год, за месяц, за неделю. Так же хотелось бы добавить возможность самому вводить данные в некую бд, без эксель-файла.1. Как все это организовать? Нужно ли заставлять пользователя регистрироваться чтобы добавить его в базу, а затем привязать к каждому пользователю его данные или можно без этого обойтись?2. Что посоветуете почитать помимо тутора с документации по джанге и тутора от мазилы?
>>1581648Я бы сделал так, но я такой же нюфаг как и ты.Поднял базу, в базу раз в какое то время забирал инфу из экселя через celery, если значения не совпадают - не копировал бы их.Плюс через формы разрешил бы вбивать новые записи уже через саму джангу. Регистрацию бы пилил в случае, если сервер будет смотреть в инет, если он в локалочке, то строго поебать. Ну и графики на фронте отрисовать просто каким нибудь жс фремворком. Хотя, вероятно, думаю, можно и чем нибудь вроде pandas, но мне бы было лень в нем разбираться.
Есть две картинки, нужно наложить маску второй на первую по альфа каналу, дополнительно делаю resize до размера первой картинки. Делаю через pil, создаю пустую картинку и делаю так>new_image = Image.composite(im, empty_image, mask)Все открываю как RGBA. По краям остается слегка заблюренный черный контур при сохранении, когда делаю show, то мне кажется, что этого контура нет (или он просто не виден на этом фоне). Это нужно что-то дополнительно с картинкой/маской делать, что бы его не было?
>>1581412В полезные ссылки мб впихнутьhttps://www.youtube.com/channel/UCCezIgC97PvUuR4_gbFUs5g Хорошие туториалы по Фласку/Джанго для начинающих и еще пару полезных плейлистов по Сублиму, гиту, командной строке и т.д.https://github.com/tuvtran/project-based-learning#pythonНазвание говорит само за себя. Есть гайды по интересным проектам на разные темы + такие же гайды по другим языкам.
>>1581686Понял, что это из-за цвета пустой картинки в которой при применении метода composite почему-то игнорируется выкрученный на полную альфа канал
>>1581290>>1581319Не совсем, это, но примерно так.>>1581257Моя задача, в некоем массиве:x = [0, 1, 3, 0, 5, 0, 1, 0, 4, 1, 0, 1, 4, 0, 0, 3, 0, 2, 0, 1, 3, 0, 3, 0, 1, 4, 0, 1, 5, 0];закодировать уникальные значения:['0', '1', '2', '3', '4', '5'];префиксным кодом - кодом Хаффмана:01011011101111011...1При этом, наиболее коротким кодом,должно кодироваться значение - с наибольшей частотой повтора.Поэтому, в dictionary = {'1': '7', '0': '13', '3': '4', '2': '1', '5': '2', '4': '3'}я положил количества повторов этих уникальных символов.Следовательно, стояла задача - отсортировать этот dictionary,и заменить количества повторов на соответствующие коды.Но я и так разобрался. Вот полный код, если чо: https://rextester.com/XSMSF58499Я из треда https://2ch.hk/math/res/62709.html пытаюсь сжать несжимаемые данные.Получается пока хреново, но что-то всё-таки, вроде, получается. :3
>>1581987Список таплов, где тапл = (символ, частота)Сортируешь список с ключом lambda x: x[1]Если хочешь чуть более красивый код, можешь ещё про namedtuple погуглить
Ой сложно мне, сложно.Не могу найти как обратиться к значению kolichestvo в цикле.Store={'gvozdi':[{'kolichestvo':27,'cena':50},{'kolichestvo':30,'cena':50},{'kolichestvo':40'cena':50},],.........}
>>1582050for gvozd in store["gvozdi"]:..print(gvozd["kolichestco"]Не извращайся с траслитом, в питоне идентификаторы можно писать кириллицей.
>>1582050Если тебе надо те только гвозди, тоfor _, l in Store.items(): ..for b in l: ....print(b['kolichestvo']) Ну и у тебя пиздец, а не структура данных. Игла в яйце, яйцо в дятле. Хотя бы от 'kolichestvo','cena' в каждом кортеже избавься. named tuples тебе нужны.
>>1582057О, спасибо большое.>>1582059Не обращай внимание, дятел с иглой в заднице - это ты хорошо меня описал.
>>1569408 (OP)>В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать - Вот, пожалуйста, та же самая программаНе та же самая. Собственно и название неспроста поменяли.
>>1581986Корябаю твою задачу потихоньку, нашёл ошибку. В def how_many_nulls(binary_data) у тебя никак не обрабатываются нули в конце binary_data. Даже если их был десяток, то счётчик про них забывает и они никуда не аппендятся.
Пишу скрапер для внутреннего сайта своей говноконторы. При открытии страницы с браузера html вываливается полностью, а при реквесте с пайтона все, кроме того что нужно. Сам сайт древнее говно мамонта, написанное на пхп. Для загрузки юзаю bs4 + requests. Есть идеи куда копать? Если что я ньюфаг во всем этом.
>>1582319Вангую что там ЖС к тебе не прилетает.Копай в сторону Ф12 на хроме и selenium webdriver headless
https://hastebin.com/uhakilalod.pyЗацените,Вот это говно раз в 5 минут качает вебмки из вебм-тредов и fap-тредов и качает себе
>>1582339Да хуй там, гет запрос и все. В ф12 жабаскриптом и не пахнет. Чисто вывалило html и все. Может я совсем даун, конечно, но я никаких упоминаний скриптов, или .js в хтмл не вижу.
>>1582319Может там есть проверка юзерагента и он ошибку выкидывает, когда ты без него обращаешься? Посмотри, что он тебе присылает.
Реально ли выучить питон + базовые алгоритмы за 3 дня 72 часа без сна ? Имею слабоумие и две банки рэдбула
>>1582509Много что можно, но это много от чего зависит. Эффективно учиться ты сможешь всё равно часа 4-5 в день и это крайний максимум.
>>1582509Ну, самые основы за день можно осилить и закрепить, наверное. Но это не то же самое, что выучить питон. И если тебя интересуют самые базовые алгоритмы, то есть для чайников книга "грокаем алгоритмы", там примеры на питоне. Наверное, за три дня какой-нибудь выхлоп получишь с этого суммарно. Плюс была ещё какая-то книга, где алгоритмы на разных языках, в том числе и на питоне. В неё тоже, наверное, ты мог бы поглядеть. Но если ты будешь проходить собеседование или что-то такое, то тебя очень быстро раскусят, что ты питон едва знаешь. Возможно, у других анонов иное мнение будет.
>>1581986>x = [0, 1, 3, 0, 5, 0, 1, 0, 4, 1, 0, 1, 4, 0, 0, 3, 0, 2, 0, 1, 3, 0, 3, 0, 1, 4, 0, 1, 5, 0];>>1581215>Как отсортировать dictionary:>{'1': '7', '0': '13', '3': '4', '2': '1', '5': '2', '4': '3'}>чтобы было:>{'0': '13', '1': '7', '3': '4', '4': '3', '5': '2', '2': '1'}Ты можешь получить такого рода результат с помощью collections.Counter:from collections import Counterx = [0, 1, 3, 0, 5, 0, 1, 0, 4, 1, 0, 1, 4, 0, 0, 3, 0, 2, 0, 1, 3, 0, 3, 0, 1, 4, 0, 1, 5, 0]c = Counter(x)print(c)Результат:Counter({0: 13, 1: 7, 3: 4, 4: 3, 5: 2, 2: 1})При этом ты можешь его сделать словарем dict(c), но все равно порядок элементов тебе питон 3.2 не гарантирует для стандартного словаря, но и не ясно до сих пор зачем тебе это надо. Если же тебе нужно цикл прогнать по его ключам-значениям, то это делается также, как и для обычного словаря и как раз оно будет в порядке убывания, как тебе и надо:for k, v in c.items():....print(k, v)По ссылке https://rextester.com/XSMSF58499 у тебя какой-то треш. Откуда-то точки с запятыми, а еще условные операторы обернутые без необходимости в скоки, что требуется в других языках, но не здесь.
Блэт кто-нибудь объяснит какого хуя строки, в конце которых символ \ не создаются? Я ж блин символ r перед строкой поставил, он означает, что любые специальные и экранирующие символы игнорятсяС фига ли не работает?
Я совсем запутался с циклами этими, как эти сраные точки сравнивать? Вершину, допустим, легко найти. Внутри/снаружи я что-то слышал про метод луча, но так и не смог разобраться. А со сторонами вообще не понял. Хелпаните, друзья, хоть направление дайте куда двигаться
Как нахуячить FTP-сервер на Питонухе?.. FTP-клиент то без проблем пишется с помощью стандартной либы ftplib
>>1582748Как кстати 3 и 4 делать? Если точка снаружи то можно построить прямые до каждой вершины и измерить угол между этими вершинами и он окажется всегда меньше 180, а если точка внутри то построив прямые до вершин и измерив угол между ними то как минимум 1 будет больше 180 градусов и значит точка внутри?мимо
>>1582733https://docs.python.org/3.7/reference/lexical_analysis.html> Even in a raw literal, quotes can be escaped with a backslash, but the backslash remains in the result; for example, r"\"" is a valid string literal consisting of two characters: a backslash and a double quote; r"\" is not a valid string literal (even a raw string cannot end in an odd number of backslashes). Specifically, a raw literal cannot end in a single backslash (since the backslash would escape the following quote character). Note also that a single backslash followed by a newline is interpreted as those two characters as part of the literal, not as a line continuation.>>1582734python -m vhod.py "Aiti">>1582762https://serverpilot.io/docs/how-to-run-a-simple-ftp-server/Оно?
Что написано в верхней строке ??Мне надо так: Покуда нет стены справа И нет стены снизу: ебашу код.Но нихуя не получается
>>1582774Ха ха жду тебя на пятой лекции. Там так и написано как ты хочешь, но попробуй while wall_os_on_the_right() == False and wall_is_beneath() == False
>>1582748>>1582764Это твое тестовое задание? Если да, то у меня плохие новости к твоему работодателюУ тебя есть диапазон X и Y. Ты смотришь как точки из второго файла относятся к нему: внутри диапазона (2), совпадают с одним граничным значением (1), совпадают с двумя граничными значениями (0), не лежат в диапазоне (4).Сложность уровня школьных задачек по паскалю или что у вас там в школьной программе было.
>>1582017Благодарю.>>1582187>у тебя никак не обрабатываются нули в конце binary_dataДа, достаточно раскомментировать это после цикла в how_many_nulls:>#array.append(count); #number of nulls in the end>>1582531Благодарю, так проще даже, и меньше кода.>По ссылке https://rextester.com/XSMSF58499 у тебя какой-то треш.>Откуда-то точки с запятыми,>а еще условные операторы обернутые без необходимости в скоки,>что требуется в других языках, но не здесь.Я с JavaScript'a в пистон перебрался, пишу коряво, но зато работает кот.Если чо, пишите пожелания в треде https://2ch.hk/math/res/62709.html , чтобы тут не флудить.Там тоже есть некие наброски черновые, можете глянуть их, чисто по фану.
>>1582777Рисунок хуевый для пояснения нарисовал. С точкой B я хотел показать что это одна и та же точка (один и тот же случай), в которой одно из значений x1, x2, y1 или y2 совпадает с координатой точки В.
>>1582777Что за хуйня? И как ты по одной проверке по диапазону узнаешь находится ли точка внутри или снаружи, там же не обязательно прямоугольник параллельный оси Х будет. Кроме как через углы детектить не представляю как.
>>1582783>>1582790Звиняюсь, это я дебил и решил что в остальных вариантах, как в примере будут прямоугольники. Тогда положение внутри можно находить методом трассировки луча (дохуя нагромождение на рисунке, но в интернете будет более наглядный рисунок и решение на змеюке).Нахождение точки на линии можно проверить по формуле прямой (можешь выразить коэффициенты k и b, а потом проверять равенство игреков по формуле y=kx+b)
Анон, есть какая-нибудь команда, которая позволяет быстро повторить отдельно взятую строку или несколько строк кода.То есть у меня есть например1 бла бла бла2 бла бла бла бла............Далее в коде я хочу повторить 1 и 2 строки. Я понимаю, что мне ничего не мешает просто их скопировать, но может есть что-то более элегантное типа repeatline(1), чтоб это одним словом можно было сделать.
Аноны, поясните, какие пакеты использовать для REST api в Flask? В Django понятно - это Django REST framework + swagger. А в Flask что?
Вопрос. С аргуметами совсем не дружу. Есть у меня скрипт он читает файлы и делает с ними подсчеты. Нужно открывать скрипт через консоль и аргументом передавать путь к папке с файлами. Как это провернуть?
>>1582817Видел я про этот метод, но я нихуя не понимаю, как в коде это записать. Есть у меня два списка: список координат четырехугольника и список координат точек. Я элементарно не могу сделать цикл и прогнать, чтобы посмотреть подходят точки или нет. Решал в тетрадки такие задачи раньше, вроде все норм было. Но просто в ебаный код не могу перевести. Сорри, у меня подгорели остатки серого вещества.
>>1582847https://github.com/humiaozuzu/awesome-flask/blob/master/README.md#framework можешь тут посмотреть.
>>1582889Жесть там библиотек, а я пилю свой пиздецовый велосипед на голом фласке и не знаю, как безопасную аутентификацию сделать с этими токенами
Что за пиздецома? Код запускается и работает нормально. В гайде написано именно так, как в коде. Как убрать эту желтую хуйню? Помогите нубику...
допустим я за полгода задрочил на задачках с литкода этот ваш пистон, парочку стандартных либ и умеренно джангупрямо сейчас ковыряю flask и субд, хотя думаю на это забить и обойтись одним ormкак теперь вкатится на реальную роботу без опыта? можно ли устроится удаленно за небольшие профиты? интересует только бекенд и чуть-чуть датасаенс но таких вакансий крайне мало и я им точно нахуй не нуженпробовать искать стажировку в говноконторе за еду или заняться пет-проектами (которые ещё нужно придумать)?пока что гитхаб состоит из laba1.cpp и блога для кота
Почитываю Мэтиза ,,Изучаем Питон,, . Не понимаю следующее задание, какое нужно вписать условие завершения цикла?age = input("enter your age: ")age = int(age)while: if age <= 3 : print("Бесплатно") elif 3 < age < 13: print("10 баксов") elif 12 < age: print("15 баксов")
>>1589250>>я понимаю, что прошло 8 дней,но если тебе надо,просто пропиши while True:,и после каждого ифа поставь break, но как по мне это цикл здесь нахуй не всрался