Это копия, сохраненная 27 октября 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Предыдущий >>1465926 (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
Анон, вместо того, чтобы без разметки постить код, лучше шарь код через специальные ресурсы:
https://ideone.com/
https://pastebin.com/
https://pyfiddle.io/
https://www.codepile.net/
#######################################
Вопросы-ответы:
А стоит ли читать Лутца, том номер N? Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем - решать тебе, книга вредна не будет, то ты можешь её просто не дочитать и забросить.
Стоит ли читать %книга_нейм%, если там питон версии 2.х? - Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х
А что ещё можно читать? - Питон сам по себе очень хорошо задокументирован, и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html
А как учить джангу? Нахожу только книги по джанге 1.х - У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой, из официальной документации.
В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать - Вот, пожалуйста, та же самая программа, но переработанная под язык Python http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)
Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём - брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
А какие асинхронные библиотеки нынче надо знать. Ну вот реально активно используемые? Так сказать джентльменский набор того, кто умеет asyncio?
Aiohttp / tornado. Умение написать свою асинхронную хуйню.
Аноны, как насчёт небольшого конкурса?
Игра запиленная на PyGame
Пилите игру, прогресс разработки заливаете на гит(любой сервис), аноны оценивают и победителям приз, к примеру 200$(рубли/битки and etc. в эквиваленте).
1. Тематика любая;
2. Пара отдельных направлений - 2D и 3D(в каждом направлении свой победитель и свой приз);
3. Поощрительные призы за не призовые места, но за код/душу/музыку/анимацию and etc;
4. Уже ведёшь разработку? Похуй, можешь принять участие. Главное - активность.
5, Со сроками определимся, но как по мне, хватит - 2-3 месяца.
Есть желающие принять участи?
По-моему такой призовой фонд даже на весь гд собрать невозможно, лол. Я думаю, максимум что в этом треде может получиться -- это пару анонов с играми и один, который согласится потратить время на чтение говнокода.
Хотя сам лично я собирался начать писать что-нибудь на pygame по ходу изучения ооп + у меня дальше по мфтишному курсу несколько практик по pygame. Но я не думаю, что может получиться что-то играбельное, до этого я только курс по алгоритмам проходил и решал кодварс.
Это мой загон. В чем проблема?
>>72636
Как по мне, визуальные новеллы - слишком специфический жанр.
>>72657
> такой призовой фонд даже на весь гд собрать невозможно
Ну да. Я от себя предлагаю такой призовой фонд. Если кто-то тзахочет добавить - ю ар вэлкам. Потрачу время на чтение кода и тестирование игр, для этого ж все и делается.
Подожду ещё желающих.
https://pygame-dev.blogspot.com
Буквально пару дней назад начал пилить по просьбе из /gd/ раздела. Пока что два урока, но зато очень подробно. В ближайшую неделю напишу еще штук 5 уроков со всеми нужными для RPG функциями
Как раз хотел спросить в /pr, кому-то здесь инетересен мануал по созданию RPG на Python?
Алсо зацените блог, что думаете насчет манеры подачи инфы, дизайна?
Тема была с созданием игры, что очевидно намекает на gd. Да и конкурсы по игрострою там проводятся.
И кроме того, что был упомянут pygame, ни слова про кодинг не увидел, вообще ничего.
Короче, нахуй эту тему. Пусть создает отдельный тред, может кто с других языков заинтересуется, но я очень сомневаюсь.
Аннуннаки, есть ли вариант тестировать сайты, которые написаны вдоль и поперек на жабаскрипте? Тут только какой-нибудь селениум поможет, или requests+bs4 уже научился справляться с такими сайтами?
Я бы с удовольтствием поучаствовал бы, такой то развивающий челлендж. Но пигейм не учил, т.к. он мне не особо интересен для изучения, и вабще, впереди ещё 300 страниц книженции по пайтону...
Мимо-нюфаня.
300 страниц не обязательно читать
Палю годноту:
codecademy.com/learn/learn-python
нажимаешь Start
регаешься по-быстрому, можно на фейкомыло и начинаешь обучение.
Читать много не нужно, все кратко и по теме. Будешь сам кодить и смотреть как твоя программа работает в каждом уроке. За 1-2 дня станешь полноценным питон-кодером.
Я уже освоил укус питона, писал мелкие софтинки, сейчас более углублённую книженцию на 700 страниц читаю, которая посвящает в мелкие детали, которые не даёт базовый курс + дополнения - сейчас SQLite прохожу.
> скриптом удалять статичный набор строк
стандартными средствами питона
для sql базы данных SQLAlchemy
Данные если уникальны - просто множествами представляешь и вычитаешь.
Если нет, сортировка и вычитание.
делаю по примеру, найденному в интернетах. когда копирую код оттуда и использую для примера две таблицы с гитхаба автора, все работает норм. если я заменяю данные в ячейках таблицы (сохраняя названия колонок), ловлю ошибку:
KeyError: 'passes columns are not ALL present dataframe'
мой планктонный далекий от программирования мозг не в силах понять, что я делаю не так.
знаю, но точно такую не вижу. вариации да, такую нет нубопроблемы блядь разрывает надо было делать всё вручную нахуй
> Иди нахуй отсюда.
Нет ты.
>>72776
Выглядит интересно, почитал, буду следить.
Записал тебя в желающие, но надо хотя бы ещё пару человек.
>>72826
Всётаки небольшие правки в правила: можно не только на пигейме, но и на Kivy/PyQT, правда оцениваться отдельно будет.
>>72884
Это конкурс, а не работа.
Я лично каждому победителю готов выдать оговоренный приз(по 200$) + доп. призы тем кто постарается, но не победит.
Если есть спонсоры - можно увеличить призовой фонд, но для этого надо вначале желающих набрать.
Платить за участие не надо.
>Всётаки небольшие правки в правила: можно не только на пигейме, но и на Kivy/PyQT, правда оцениваться отдельно будет.
Кивя и Пайкт у меня та же в планах изучеия. К ПайКт приступлю в ближайшее время - ей как раз посвящена часть моей книги, киви собирался изучить чуть позже, в рамках попытки изучить кодинг под мобильнички. Олсо, не знал что най пайкуте можно игры делать, лол.
Ты неправильно заменяешь данные в ячейках таблицы. Погугли pandas set column cell by the index.
Есть простой код (даже слишком), который реализует RSA-шифрование:
https://pastebin.com/YB8xyB3P
Работает обычно правильно, но периодически возникает ошибка и числа при дешифровке меняются. Типа такого:
https://pastebin.com/9QXNMCju
Это переполнение? Но я думал, в путоне длина чисел нелимитирована. Или это из-за модульных вычислений? Но я, вроде, пытаюсь бороться с этим. Ограничил максимальную зарплату минимальным n, да ещё и вычел из неё дополнительно, чтоб даже близко к границе не подходило. Посмотри, анон, а?
Бамп.
Нет не научился.
Бери селениум и в путь.
Хотя, смотря что тебе тестить надо, если апи, который дёргает жабаскрипт то можно реквестами, если же UI то тут без вариантов.
Селениум же умеет высасывать весь код сайта после его прогрузки с жабаскриптом? И работать в фоне?
Хорошо, спасибо за ответы.
[[0 for i in range(1, i + 1)] for i in range(1, 10)] + [[0 for i in range(1, i + 1)] for i in range(10, 0, -1)] ?
Всё, что пришло в голову
[[0 for i in (range(1, i + 1) if i < 11 else range(20 - i, 0, -1))] for i in range(1, 20)] ,
но это выглядит не намного менее громоздко.
>Есть варианты сделать компактнее выражение
>[[0 for i in range(1, i + 1)] for i in range(1, 10)] + [[0 for i in range(1, i + 1)] for i in range(10, 0, -1)]
Слёту, у тебя индийский способ генерирования списка нулей, вот так можно упростить
[[0]i for i in range(1, 10)] + [[0]i for i in range(10, 0, -1)]
Ещё пять минут подумаю, мне кажется и это можно улучшишь. Хотя так уже читаемо
> Что не нравится больше всего? Хотелось бы конкретики.
Слишком много всего и сразу, большая вложенность.
Не надо так писать. Это "умную" хуйню потом тебе же читать через полгода или, что еще хуже, другому человеку. Пиши понятный код.
Посоны, а кто-нибудь может мне помочь с ткинтером? Написал небольшой парсер файлов игры, и нужно через ткинтер забубенить вызов функции отрисовки и перевода содержимого файлов, но никак не могу догнать, как это сделать среверс-инженирить похожие проги не получилось
Не хочется тут палить код, так что телега fakeaccount123123
Больше всего не нравился в твоём исходном варианте, что ты для внешнего и вложенного генератора списка пользуешься одной переменной i. Надо ломать голову, почему это работает. Вот здесь работает, а в других случаях может легко сломать программу. Используй разные переменные, i+j, когда у тебя вложенность есть.
В целом вложенность в генераторах списков не нравится, она всегда тяжело читается, не для этого их делали.
Есть полезный модуль itertools, чтобы не делать сумму нескольких списков, можно так написать
[[0]*i for i in itertools.chain(range(1, 10), range(10, 0, -1))]
хотя в данном случае не сильно меняет
Есть две задачи в книге Python Crash Course 2nd edition:
Make a list or tuple containing a series of 10 numbers and five letters. Randomly select four numbers or letters from the list and print a message saying that any ticket matching these four numbers or letters wins a prize.
Решение: https://pastebin.com/UrEpyySa
Здесь все понятно, непонятна мне функция в следующей задаче ,исходящей из первой.
You can use a loop to see how hard it might be to win the kind of lottery you just modeled. Make a list or tuple called my_ticket. Write a loop that keeps pulling numbers until your ticket wins. Print a message reporting how many times the loop had to run to give you a winning ticket.
Решение: https://pastebin.com/dyWEfU8E
Объясните, пожалуйста, что делает функция check_ticket? Понятно, что она сравнивает элементы в массиве, но каким образом возвращается true?
# окей, чекаем каждый элемент в первом списке
for element in played_ticket:
# далее смотрим, есть ли этот элемент во втором списке
if element not in winning_ticket:
# если элемента нет, то возвращаем False
return False
# далее, уже не в теле цикла мы все равно возращаем True
return True
Какой тогда смысл в нашем сравнении? Чет мне кажется, что я жестко туплю.
Спасибо :3
Есть две задачи в книге Python Crash Course 2nd edition:
Make a list or tuple containing a series of 10 numbers and five letters. Randomly select four numbers or letters from the list and print a message saying that any ticket matching these four numbers or letters wins a prize.
Решение: https://pastebin.com/UrEpyySa
Здесь все понятно, непонятна мне функция в следующей задаче ,исходящей из первой.
You can use a loop to see how hard it might be to win the kind of lottery you just modeled. Make a list or tuple called my_ticket. Write a loop that keeps pulling numbers until your ticket wins. Print a message reporting how many times the loop had to run to give you a winning ticket.
Решение: https://pastebin.com/dyWEfU8E
Объясните, пожалуйста, что делает функция check_ticket? Понятно, что она сравнивает элементы в массиве, но каким образом возвращается true?
# окей, чекаем каждый элемент в первом списке
for element in played_ticket:
# далее смотрим, есть ли этот элемент во втором списке
if element not in winning_ticket:
# если элемента нет, то возвращаем False
return False
# далее, уже не в теле цикла мы все равно возращаем True
return True
Какой тогда смысл в нашем сравнении? Чет мне кажется, что я жестко туплю.
Спасибо :3
>Чет мне кажется, что я жестко туплю.
this. Она проверяет наличие билета из списка игрока в списке выйгрышных билетов.
return является концом функции. Тоесть если ты вызываешь return - функция обрывается. Если тебе надо проверить несколько элементов - можешь результат выполнения добавлять в список например, а возвращать уже список:
def check_ticket(played_ticket, winning_ticket):
____loosing_tickets = []
____for element in played_ticket:
________if element not in winning_ticket:
____________loosing_tickets.append(element)
____return loosing_tickets
from pack_name import func1, ClassA, other, etc
Я обычно делаю директорию, в ней - venv и еще одну с таким же именем, внутри - реализация (обычно с тем же именем) и __init__. Через setuptools получается хуйня уровня:
from pack_name.pack_name.pack_name import huinya_name, other
Первый - имя пакета/модуля, второй - имя папки, третий - файл.
Алсо я в терминологии плыву: модуль - тупо .py файл, пакет - директория с __init__, так? Если в setuptools указать именно МОДУЛЬ, не делать директорий, не создавать __init__, получится опять что-то типа:
from pack_name.module_name import func1, func2, etc
Короче как православно запилить пакет/модуль для собственного использования?
Тебе надо получить "пирамиду" из списков, где длинна списка сначала растет от 1 до 10, а потом падает от 10 до 1?
Это можно сделать так:
[[0]∗(10-abs(i)%10) for i in range(-9, 10)]
Или даже оформить функцию для произвольных данных:
def get_piramid(value, max_length):
return [[value]∗(max_length-abs(i)%max_length) for i in range(1-max_length, max_length)]
Помогите с проблемкой. Осваиваю ООП. Написал код с графическим интерфейсом, который проводит определенные расчеты, на пике часть от этой программы. Сейчас решил представить этот код в виде классов. Создал класс с постоянным полем, который содержит строчки, необходимо вывести эти строчки в главном окне, но если внутри класса передавать аргумент root, то выдаёт ошибку. Каким образом засунуть эти строчки в главное окно? И вообще верно ли я делаю это, может лучше создать класс с атрибутами строка и поле для ввода? Вот ссылка на код, если надо https://pastebin.com/LgtTquDE
Не понял что у тебя за ошибка, но попробуй добавить родителей, т.е.:
__init__(self, root): self.root=root
И потом пробуй self.root вместо обычного
Ярик, проблема в том, что ты определяешь класс, в котором используешь переменную, которая никак не определена на момент создания самого класса.
Я, к сожалению, сто лет не трогал tk и даже примерно забыл, как там, чтобы оценить остальное и чего дельное посоветовать.
Хотя нет, могу что-то посоветовать.
Ты просто вообще неправильно используешь класс.
Ты определяешь labels как переменную внутри класса, а не экземпляра класса. То есть ошибка более глобальная, в понимании судя по всему. Тебе надо скорее всего примерно так:
class lab_ent:
.... def __init__(self, root):
........self.labels = Label(root)
................
a = lab_ent(root)
a.labels.place(...)
сап,
есть цикл вида
for i in range(x):
В цикле проверяется условие и если оно верно то нужно перескочить на следующее i. Т.е грубо говоря цикл начинается с 0, если внутри выполняется условия я хочу сразу перейти на 2, пропуская 1. Но i += 1 не дает должного результата. Как это сделать?
Видимо просто оформить цикл в традиционном стиле
i = 0
while i < x:
____if something: i += 2
____else: i += 1
Не меняй итератор в цикле, это плохой стиль. Гляди оператор continue.
Хорошее решение, спасибо.
какой индекс аут оф ренж в принте
Да, именно. Спасибо. Тоже была идея запилить функцию для произвольной высоты "пирамиды", но пока нет такой необходимости.
Впрочем, до использования остатка я всё равно вряд ли бы додумался.
Мне лень, честно. У меня есть КМС ауто
Увы, он появится только в 3.8.
Просто пытаюсь помочь другу, которго ебут по ИКТ
> A
print("ALLO {} {} ETO TY POSHYOL NAHOOY IZ {}, YOU WILL DIE ON {}".format(input("Name: "), input("Surname: "), input("Club: "), input("Date: ")))
> B
print("Result of your exam is {}", (lambda n: "A" if n >= 90 else "B" if n >= 75 else "C" if n >= 60 else "D" if n >= 50 else "F")(int(input("Please, enter your mark: "))))
> C
print((lambda name: "Idi nahui, {}".format(name) if len(name) % 2 else "Hello {}".format(name))(input("What is your name?\n")))
> D
print((lambda s: s(print("Enter circle's parameters:"), (lambda x0, y0, r: s(print("Enter point coordinates"), (lambda x, y: "This point is in the circle" if (x - x0)2 + (y - y0)2 <= r2 else "This point is not in the circle")(float(input("X:")), float(input("Y:")))))(float(input("X:")), float(input("Y:")), float(input("R:")))))(lambda a: a[-1]))
> E
(lambda n: print("Area of treugolnik: {}\nArea of kub: {}\nArea of kvadrat: {}\n".format(n n 3 0.5 / 4, 6 n n, n n)))(float(input("Enter the number:")))
хочу нормализовать данные формата datatime64 в значения от -1 до 1
нашел такое решение,
https://stackoverflow.com/a/31048949
вроде работает, но я не могу понять, что происходит на этапе, когда данные формата datetime64, полученные из строки, преобразуются в int64
df['A'] = pd.to_datetime(df['A']).astype('int64')
в итоге получается какое-то число, но как она высчитывается и что оно означает я не понимаю,
это вроде как не количество секунд в определенной дате, но тогда что это может быть ?
Код если что взят по ссылке на оверфлоу
Написал маленькое приложение в ООП(по крайней мере пытался). Может кто-нибудь оценить код вообще на верность написания, верно ли я вообще выделил классы и верно ли использую их. На пике то, что выдаёт, вот ссылка на код(буквально 130 строк): https://pastebin.com/aub49PHZ
Мои глаза... Им больно...
Я не смотрел весь файл, но сразу что заметил:
1) Имена классов. С заглавной буквы пожалуйста. С маленькой называй методы и функции свои несчастные, а классы надо уважать.
2) У тебя в классах ничего не происходит. Если это ООП ради ООП, то ладно. В практическом плане это хуета. Используй словари.
3) Проиграл с количества переменных, которые тебе в итоге вообще не нужны.
В глазах рябит от файла, дальше пусть кто-то другой советы даёт.
https://habr.com/ru/company/dataart/blog/318776/#comment_10190206
Зачем его было переписывать именно так?
>req = urllib.request.Request(url=item, headers=header)
Выглядит как какой-то шитпостинг для меня, а не код. headers=header ну как так-то, чё это ваще? или это просто пример такой?
В твоём приложении, по сути, ООП практически нет. Всё, что ты делаешь, можно реализовать и без создания каких-либо новых объектов. Здесь подобное усложнение кажется лишним.
Почитай больше про ООП, попробуй осмыслить и придумать ему более оправданное применение.
Не останавливайся, ты молодец. Почти все так начинали.
Неохота вникать во всё, что там обсуждают. Судя по всему, у них обсуждение предупреждений от анализатора, когда подключаются модули какие-то, но не используются. И в комментариях приводятся примеры, как можно подключать какие-то отдельные модули.
Например, ты можешь подключить как
import urllib
и дальше использовать полный путь
urllib.request.Request()
или явно импортировать Request в основное пространство имён
form urllib.request import Request
Request()
>headers=header ну как так-то, чё это ваще? или это просто пример такой?
Это передача в функцию именованных параметров. Вот эти вещи надо изучить и хорошо понимать, они несложные, но в них особая мощь питона, которая отличает его от языков вроде JS/PHP. Тут реально крутые возможности, которых в других языках сильно не хватает.
Ну я первый код этого приложения так и написал без классов, а в структурном программировании(так это называется вроде), но решил на примере этой задачи освоить немного ООП. Ладно пойду действительно почитаю побольше. Спасибо за ответ.
Понял, спасибо за ответ.
Здесь не ООП, а объекты ради объектов. ООП нужно для того, чтобы упрощать жизнь, а ты фактически усложняешь.
Во пример, у тебя есть класс val_float. Но как и все другие твои классы, он не имеет никаких методов, вся его суть в том, чтобы хранить ОДНУ (!) переменную типа float.
Куда лучше не усложнять, а просто вместо объектов класса держать отдельные переменные с этим же значением.
Вместо
p_H = val_float(entry_p_H)
писать просто
p_H = float(entry_p_H.entry.get())
либо val_float оформить как функцию, которая возвращает float, вот это как раз самое разумное будет.
Надо вникать в математику и логику твоей программы. Скорее нужно создать какой-то большой объект и отдельные методы, один из которых будет отвечать за отрисовку формы, другой за чтение данных из полей, третий за сами вычисления. Тогда у тебя уже будет смысл в ООП, например ты сможешь в любой создать унаследованный объект, в котором переопределить один из методов, например форматирование формы, в то время как остальные останутся прежними. Как-то так, как мне кажется.
>>73877
Дополню
вот у тебя есть переменная entry_p_p, это объект класса lab_ent
в другом месте у тебя есть код,
p_p = val_float(entry_p_p)
Вот здесь просто по сути надо создать метод к твоему классу lab_ent(LabEnt, принято так)
class LabEnt:
def get_float(self):
return float(self.entry.get())
Вот это хотя бы будет ближе к ООП, хотя в данном случае ООП не очень оправдано вообще. Но если делать, то вот скорее так.
Аноны, помогите ! Короче, при создании пользователя, отправляю запрос через редис, селери его принимает но после кидает -
TypeError("wrap_socket() got an unexpected keyword argument '_context'")
Хз, что делать уже. мне уже хуйово
СУКА ЭТО ПИЗДЕЦ МАГИЯ НАХУЙ
Как только пошел ныть в прогромач, эта хуйня блять заработала ! Чудо БЛЯТЬ !
На такое количество файлов смотреть больно. Но не потому, что ты что-то делаешь не так, а наоборот, что-то не так делаю я.
Ты о тех что сверху или вообще в проекте? Так то, это просто тестовый проект из двух приложений, там бывает вообще пиздец.
Как получить сервисом post-запрос и отправить на него ответ?
Непонятно, что ты хочешь. Отправить из своего приложения запрос другому приложению (серверу) и получить ответ? Юзай requests.
Есть сервис, он запрашивает инфу (1) и получает её (2), потом обрабатывает и что-то отдаёт дальше (3).
Как это можно представить?
Первое и третье - это get и post самого сервиса, а второе - post от стороннего сервиса, приходящий на наш?
Спасибо.
Какие книги must read новичку? Спрашиваю тут, т.к. ЧАВО не актуально. Дочитываю "Укус Питона" из ЧАВО далее по списку
"Think Python: How to Think Like a Computer Scientist"
Очень сложно что-то посоветовать, особенно для продолжающих.
- разный опыт программирования на других языках
- разная подтоговка по технологиям программирования и алгоритмам
- разная подготовка по информационным технологиям, работой с сетями, графикой и т.п.
- разные цели и направления. Питон это веб, это сетевые сервисы, это обработка данных, это AI/ML. Всё это разные направления.
Антоны, есть список типа
['934871-hui12', '145143-hui32', '376342-hui142', '124365-hui112', '134654-hui2', '123432-hui142', '098674-hui112', '675432-hui012', ........
Пытаюсь отловить по регекспу все элементы, которые начинаются с 1 и содержат 5 числе после 1
[1]\d{5}
Мой код:
for i in hostnames1:
m = re.findall("[1]\d{5}", i)
if m:
#print(m.groups())
print(m)
else:
print("error")
break
Но он всегда возвращает еггог, хотя вхождения точно есть. Пчоему?
Не имел дел с регулярками, но звёздочку в конце пробовал?
[1]\d{5}.*
Вот так вроде бы как-то или что-то подобное.
Кек, у тебя при первом же элементе, который не подходит под регулярку останавливается итерация.
я про книги или курсы
Да и 123456x-hui у тебя тоже не пройдет.
Другое дело
Забыл добавить, что скорость тоже важна.
Друшака, будь внимательней.
А вообще - нахуй регулярки. Никогда не любил этот неликвид. Что-то сложнее твоего примера очень трудно править. Особенно когда в каком-нибудь роутинге юзается с десятками вариантов значений.
python opencv
Я что-то такое припоминаю, но на стекоферфлоу говорят такое по умочанию нигде не автоматизируется.
https://ideone.com/6MV3Y3
Ты же знаешь что нельзя построить такой график чтобы для одному иксу соответствовало несколько игреков?
Нормально меня препод подъебнул, потому что пытался со мной решить проблему и оставил с хвостом
Можно, он не обязательно должен описывать функцию. Уж формулу эллипса или там круга ты точно видел.
Ты бы хоть задание описал немного. Тебе график функции, разрывной в x=2 и x=3 нужен?
Думаю нужно чтобы второй элемент находился в этом промежутке от 1 до 2, представляю теперь как-то так. Но сжать на практике не получается
Как вариант - умножить аргумент в cos(x) - 3*sin(x) на какое-нибудь положительное число, чтобы "сжать" график по оси x. Ну и твоё условие в func2 под это подогнать.
> Уж формулу эллипса или там круга ты точно видел.
Это не формулы. А эллипс и круг это не графики.
мимо
Мне нужно визуализировать данные с крипторынков, разные графики, свечи, объемы и прочее дерьмо.
Знаю про https://bokeh.pydata.org
Но может есть что-то лучше для моих целей?
мимотестировщик
Я обычно графаной визуализирую, но это не библиотека, а отдельное приложение, тебе наверное не подойдет.
Знаю, приложений для визуализации тьма. Таблеу всякие итп. Но я хочу питоновским способом сделать.
Там ни слова про книгу "Изучаем Python" Марка Лутца, хотя она повсюду как одна из лучших для начинающих. Есть тут люди, которые шарят, знакомы с литературой? Также вопрос по SICP. На самом ли деле это такая годнота?
>requests-moсk гугли такое
Если я правильно понял, это для юнит-тестов питоновских приложений. А у меня тестируемые приложения некоторые на яве, некоторые на го, на питоне пишу автотесты.
Начни с чего попроще. Я начал вообще с "Python. Введение в программирование"
Линк => https://younglinux.info/store/store.html
Супер понятная книга.
Могу конечно скинуть книгу, но блин, она всего 39 рублей стоит.
Столько воды, сколько в Лутце, даже в моём дипломе не было.
Мне зашла книга "Программирование на Python 3" Саммерфилда. То же самое, но сжато.
>некоторые на яве, некоторые на го, на питоне пишу автотесты
Так что у тебя и как тестирует? Подробней немного распиши.
Есть приложения, которые пишут программисты на яве и го. Я пишу автотесты для этих приложений на питоне. Приложения взаимодействуют с базами, а так же иногда между собой по http. Отправить мой запрос приложению я умею, но в некоторых случаях приложение отправляет запрос само. Вот эти запросы от приложений мне и нужно перехватывать и подсовывать заготовленные ответы. Я могу редактировать конфиги приложений, чтобы направлять их на выполняющий тесты компьютер, но я не могу изменять код приложений, они разворачиваются на тестовых серверах в уже скомпилированном виде.
> мне и нужно перехватывать и подсовывать заготовленные ответы
Я бы для этих целей написал свой небольшой сервер(на фласке, к примеру), который бы принимал запрос от ява/го приложений и отдавал нужный тебе ответ им.
Но я не тестировщик, я бэкэндер, так что хз на сколько это правильно, но других вариантов я не вижу.
>Я бы для этих целей написал свой небольшой сервер(на фласке, к примеру), который бы принимал запрос от ява/го приложений и отдавал нужный тебе ответ им.
Я вот думал, что кто-нибудь уже запилил для этого библиотеку, чтобы не писать это самому, и как раз поинтересовался.
Ну, по факту тут либа есть - любой хттп сервер, хоть из стандартной либы бери(кстати норм идея) и всё. Всё равно ж данный и роуты кастомные.
Задача, есть какая-то консольная прога, которая раз в секунду выдаёт сообщение в stdout. Работает она очень долго.
Надо, запустить её из питоновского скрипта через asyncio, и по ходу того, как прога что-то выдаёт, читать это и обрабатывать.
Пытаюсь делать через asyncio.create_subprocess_exec, но засада огромная. Все методы, которыми можно данные считать оттуда, выдают их только после того, как субпроцесс завершится. А мне надо сразу.
Много чего пробовал, не получается никак. Это с asyncio вообще возможно сделать? Без были пути с fcntl, но тут походу даже и так нельзя.
Заебался, сил нет.
В nginx настроил пути для медиа и статики?
Выглядит как задание студента. Это под линухом нужно? Перенаправь вывод проги в файл и читай оттуда, не вариант?
Хотя про студента я наверное хуйню спизданул.
Когда жмешь на картинку выдает: and the next nothing is 44827.
А в коде страницы указано: <!-- urllib may help. DON'T TRY ALL NOTHINGS, since it will never
end. 400 times is more than enough. -->
ЧТО тут нужно сделать? Как я разберусь, а вот про ЧТО у меня нет понятия.
Ну и картинка из этого задания
Есть куча строк- словарей вида {"a": "val1", "b": "val2"..."z": "val26" }.
Их все надо превратить в один новый словарь, т.е.
1. Взять значение val2
2. Проверить, есть ли такой ключ в новом словаре
3а. Если нет, то создать ключ val2, а значением будет старый словарь целиком (без удаления "b": "val2" )
3b. Если ключ такой уже существует, то добавить значение к уже существующему по этому ключу. Т.е. будет что-то типа
{"val2-1": {"a": "val1-1", "b": "val2-1"..."z": "val26-1"}, "val2-2": {"a": "val1-2", "b": "val2-2"..."z": "val26-2"}...}
В какой структуре данных лучше хранить такую таблицу, чтоб можно было искать пересечения квалитетов и диапазонов диаметров? Может, библиотеки какие есть для упрощения такого поиска.
Делай рекурсивное обновление, типа
def recursive_update(d, u):
for k, v in u.iteritems():
if isinstance(v, Mapping):
d[k] = recursive_update(d.get(k, {}), v)
else:
d[k] = v
return d
Ты предлагаешь хранить эту таблицу в экселевском документе и парсить каждый раз в пайтон?
Начал читать по пандас датафреймы, похоже, лучший вариант?
На форуме у них есть разбор каждого из заданий, мб ты просто туда сходишь?
аноны, есть такое задание: необходимо создать службу для учеников и учителей. своеобразная система рекрутинга чтоли. на главной надо будет выбрать за кого мы хотим зайти: за учителя или ученика (авторизоваться никак не надо, тупо редирект на другую страницу). если выбрать ученика, то необходимо отобразить страницу где будет форма которая содержит: имя, возраст, город, емейл где он жмет далее и затем сохраняется в базу данных. затем ему высвечивается три вопроса (на которые можно тупо true или false ответить для простоты) и затем уже жмем далее и его обратно выбрасывает сохранив ответы на вопросы в бд.
если же нажать на вкладку для учителей на хоум странице, то надо отобразить ему страницу где он выберет себя из списка учителей (имя, город), далее отобразить список учеников которые прошли тест в его городе, где может посмотреть ответы каждого ученика и есть кнопка зачислить ученика и затем уже добавляет его в бд зачисленных учеников.
так вот, чо стоит курить чтобы это реализовать? чет основных данных которые я нашел в оф доках и в книге на пике не оч хватает
Блять, точно, ты по джанге и спрашиваешь.
1. Офф доков должно хватить, ведь там же есть годный пример.
2. Как по мне, норм кинига - антонио меле(и похуй что для старой джанги). Чуть выше, в треде, советовали ещё другого автора, полистай.
почему то мне не хватает их для создания вероятней я просто тупой и долго гружусь, а по повуду книги в треде - увы ничего не нашел
только тутор, остальные не мог(либо половина либо уже где 90% было сделано) потому что джанго начинал мозги мне ебать и показывать что ошибка в синтаксисе хотя с ним все ок было
алсо, трабл в том что нигде нормально не объясняется что такое модели, формы и вьюхи из за чего я не могу понять просто что от меня нахуй требуется и из чего стоит сделать модели, на основе них сделать формы и как связать с вьюхами и сделать все это через нормальный адекватный редирект
Модели - таблицы в БД. Как и на основании чего строить модели - отдельная тема о высоких материях.
Вьюхи - твой бэк для HTML страниц, если просто.
Формы - ну собсна твои формы, по которым тыкает юзер и что-то выбирает.
>>75304
> только тутор
Поиграй с тутором, поизменяй разные параметры/поля, кастомизируй его.
>Поиграй с тутором, поизменяй разные параметры/поля, кастомизируй его.
думаешь что это поможет мне выполнить задание ?
Задание у тебя простое, для того что бы его выполнить, тебе нужно понять суть, поигравшись с примером ты, возможно, найдёшь зависимости и постигнешь дзен.
ну вот постепенно начинаю понимать что то
модели - это мои ученики (с данными в виде города возраста, имени,емейла) и учителя(город, имя)
вьюхи - это то чтто будет выводить на экран
форма - это выбор в виде ответов на вопросы или же на главной где меня редиректит
все верно?
>Задание у тебя простое
да я понимаю, но как реализовать все это через джангу пока трудно понять. если бы сказали на питуне сделать было бы в разы проще
Зачем тебе хранить таблицу? Считай допуск сразу по размеру и квалитету (единица допуска величина расчетная).
> все верно?
В общем и целом - да. Если это учебное задание, то точно да.
Но я бы ещё рассмотрел такой вариант: сделать ученика и учителя как одну модель, выставив только тип(ученик/учитель).
Можешь поделиться ссылочкой? Получил машиностроительное образование, работаю инженером-технолухом на заводе и никогда не слышал про такой расчет. Всю жизнь поля допусков беру по справочникам. Что-то мне подсказывает, что ты заблуждаешься.
Это тестовое задание в компанию какую-то? Потому что у меня было точно такое же, один в один, задание, но с другими сущностями.
Ну пиздец. Привет, коллега. Неожиданная встреча.
Читай любой учебник по метрологии Анухин - Допуски и посадки. Можешь начать с https://ru.wikipedia.org/wiki/Допуск#Квалитет
> Всю жизнь поля допусков беру по справочникам.
Это просто в справочниках уже величину поля допуска посчитали для тебя для каждого диаметра.
Либо пиши, как надо - имя_модуля.имя_функции, либо используй from math import *.
Вот это совет уже, спасибо, ща настрою
Зачем и куда yfunc у тебя возвращает False? Это нахуй не надо. И всё можно оформить через обработку ZeroDivisionError, хотя бы ради стимуляции обучения. Раз уж учишь Питон, то почитай про исключения, ибо они тебе в перспективе могут понадобиться.
>>75608
Оно и не станет работать лучше, потому что функция sqrt() у тебя так и не определена.
да принципиально, второй питон считай атавизм
>>75275 - кун
да все верно, тянка кадровик просто друг скинула, типо мол попрактикуйся пока на таком, прежде чем пытаться в бек энд вкатываться
Это тебе не С
Если import math, то используется math.sqrt
Если from math import sqrt то sqrt
Если from math import * то sqrt так же, но это плохой вариант.
бамп вопросу
Во воьюхе обращайся к модели, выгребай учителей, передавай список в хтмл файл, там по списку пробегайся и выводи список по элементу.
Но ты всё ещё не понял фишки и сути, так что ...
Читай на английском, она очень простая, по сравнению со всякими серьёзными книгами. Гуглом переводи если что.
Дед, это замыкание, выкатывайся из айти
>передавай список в хтмл файл, там по списку пробегайся и выводи список по элементу
а как конкретно это сделать? остальные два пункта сделал, но в этом теперь проблема из за чего просто выводится пустая страница с заголовком СПИСОК УЧИТЕЛЕЙ
Окей, сам уже вчера нашел после того, как написал ответ.
Нашел ещё на гитхабе калькулятор овз какого-то казаха, вот он тоже тупо все отклонения в массивах держит. Но там все на js написано (сложно в коде разобраться), зато по-богатому мультиплатформа.
Буду сосать...
Наверняка есть какой-нибудь перевод. Возможно, не такой уж и древний. Или гуглить ты тоже не умеешь?
Хз, ни разу туда не заглядывал.
Ну, если совсем всё плохо, в чём я сомневаюсь, есть плейлисты на ютубе на русском.
лолблять, там базовый английский
у нас в вузе немецеий преподавали и даже я разобрался
пиздец ты дегенерат
Ну и нахуй ты пошел flask изучать? У тебя прямо сейчас два варианта: изучать английский или изучать 1С. Одно из двух.
Спасибо.
Ещё одни вопрос с комплексными словарями.
Как преобразовать словари вида:
a = {123: [{key1:2, key2:5, key3:7},{key1:3, key2:8, key3:1},{key1:6, key2:9, key3:4}]}
к виду
b = {123: {key1:[2, 3, 6], key2:[5, 8, 9], key3:[7, 1, 4]}}
Т.е. перейти от value в виде списка словарей к value -словарю со значениями в виде списков?
Пытался циклами, запутался:
for k, v in a.items():
--for val in v:
----for k1, v1 in val.items():
А дальше хз
Ты забыл функцию с "Джигурда"
tmp = dict()
for k,v in a items:
__if not k in tmp: tmp[k] = [v]
__else: tmp[k] = tmp[k].append(v)
Тебе нужно, что-то наподобие для каждого словаря.
Зависит от того, когда именно ты хочешь писать "хуй", а когда "пизда". Если это зависит от определённого условия в цикле, то всё можно оформить в одну функцию, а то и обойтись вообще без неё. Ну а если тебе просто нужно, чтобы он печатал "хуй" через одну секунду, а "пизда" - через 4 после "хуй", то пиши
time.sleep(1)
print('хуй')
time.sleep(4)
print('пизда')
Либо кури threading, если не подходит ни то, ни другое.
Я вот допустим, хочу сделать шахматное поле, но не могу понять, как его лучше разметить. Очевидно, grid должен быть удобным, для реализации, собственно самой игры, но вот я не знаю, есть ли вариант объект(PhotoImage) двигать по гридам в дальнейшем. Пока читаю, но буду благодарен, если кто напишет/распишет за этот момент, и даст совет. Знаю про PyGame, PyQt и т.д., но захотелось навернуть говна.
Почитаю, но пока, как я понял, canvas комбинируется с тем же pack, если нужно изображение вывести?
Пока фон так сделал https://pastebin.com/u8hGKX6c
Книга оказалось для 3 питона , проста сама версия книги типо 2.0, думаю много людей это сбило с толку.
В прикрепленных к оппосту ссылках есть скрапинг данных. + Почитай за селениум и скрапи
Привен анон, хелп плиз. написал скрипт:
import os
path = os.getcwd()
folderNum = int(input('Enter a number of folders: '))
for number in range(folderNum):
path = path + os.sep + str(number) + os.sep
os.mkdir(path)
print(number)
Он создаёт директорию вложенных папок, в папку вместе с скриптом. Скрипт работает, но проблема вот в чём: хочу запустить через CTRL+R - имя скрипта.
Добавил папку с скриптом в Path, создал bat, запускаю скрипт, он запускается, ввожу input, но папка не создаётся (ожидается что она появится в папке где лежит сам скрипт).
Чувствую что проблема в os.getcwd, что через пуск она по другом себя ведёт.
Каков типичный портрет питониста(внешка,поведение и т.д)?
Я проверил, у меня работает. Правда я в path ничего не добавлял, а запускал по win+r -> c:\test\run.bat
Не понимаю что ты хочешь в общем. Выведи принты на разные этапы, что бы понять на каком этапе у тебя происходит некоторое дерьмо
https://www.codewars.com/kata/next-smaller-number-with-the-same-digits/python
Я ее решил как на втором пике и числа любых размеров сразу кучей он считает за доли секунды. Пишу тоже самое на сайт - в автоматических тестах получаю ошибку, мол дохуя думает, хотя там ничего сверхсложного нет. Это проблема сайта, или у меня что-то не то?
Что-то мне подсказывает, что существует алгоритм в разы более быстрый - без необходимости сортировки и прохода цикла огромное число раз за счёт уменьшения исходного числа на единицу (!).
Как вариант - просто переставлять местами последний и предпоследний разряды в исходном числе. Если получается число меньше исходного - возвращаешь его; иначе возвращаешь -1.
Не последний и предпоследний, а от последнего к первому в цикле. Всё равно получится быстрее.
У тебя чудовищно неоптимальный алгоритм, и неверный.
Вот для числа 100000000 он должен вернуть -1, нет такого числа.
Сколько времени твой алгоритм будет работать для числа
19000000000000, где следующее число будет
10900000000000?
Очень долго. А в условии сказано, что числа могут быть очень большими, то есть там могут быть десятки тысяч знаков уж точно.
Всё проще делается.
Сложнее, но направление мысли верное.
Если число представить в виде
префикс + суффикс
сколько-то разрядов префикса, сколько-то суффикса, то
1) суффикс не может быть уменьшен только в случае, если он отсортирован от меньшего к большему, вот как тут
00015589
это минимально возможное число.
2) идём слева направо, начиная с двух разрядов. Если текущий суффикс нельзя уменьшить, то добавляем один последний разряд из префикса. Если теперь суффикс уменьшаем, то вынимаем из него цифру, максимально большую, но меньше той, что взяли из префикса, из оставшихся строим наибольший возможный суффикс и возвращаем число. Если не уменьшаем, то идём дальше.
Если в суффикс попало всё число, и по итогу получилось, что старший разряд = 0, то возвращаем -1. Ну либо если итоговый суффикс всё равно не уменьшаем.
Можно же разбить число на массив, сортирнуть, сравнить с исходным, если получилось другое число возвращаем его, если нет или в начале 0 то -1?
В этой задаче надо найти наибольшее из чисел, меньше исходного, и если такого нет, то вернуть -1. А если есть, то вернуть найденное число.
Посоветуйте, что делать, чтобы вспомнить весь материал? Снова пройти курсы? Или начать читать литературу для новичков из шапки?
Генерация всех перестановок и попутный поиск наибольшей из тех, что меньше исходного числа?
Я создал по гайду bat так, чтобы вводам имени скрипта в CTRL+R, скрипт запускался. Не c:\test\run.bat, а CTRL+R > run. Скрипт запускается таким образом, но папка не создаётся.
Наткнулся на наводку: есть разница между рабочей папкой, и папкой откуда запускается скрипт - я этой разницы не понимаю. Вместо os.getcwd() можно использовать os.path.dirname(os.path.abspath(__file__)).
Быстро вспомнить синтаксис и основы языка мне помогал learnxinyminutes, погугли, там много языков есть и питон тоже. На code wars затем задачи можно поделать, я через них много бест практисез языка узнал, когда смотрел после задачи чужие лучшие решения. Ну и делай затем что-то сам, а там остальное вспомнишь по мере необходимости.
Так-то можно и книжку, но это на любителя, я бы второй раз продираться через воду Лутца не рискнул.
Видать роскомнадзор забанил или ещё что-то. Как видишь по коду - не может законектиться.
В любом случае, я вас уверяю, питон - самое простое, что может быть в мире программирования. Не нужно читать никаких книг. Проходите курс на codeacademy.com за пару часов - всё, считай ты знаешь Python.
мимо-создатель игры на PyGame
Короче, делай в любом случае через прокси, у меня телега запускается, а к апи бота не обращается. Погугли свободные прокси и как в библиотеке реквестс прописать прокси.
>питон - самое простое, что может быть в мире программирования
Ниет. Самое простое у байтоебов это ассемблер, а у скриптоблядков самое простое это форт.
С каких пор ценность языка определяется сложностью изучения, да ещё и прямо пропорционально?
Да я не спорю что питон очень ценный. Питон охуенен
Просто в этом треде дохуя постов о том, как ИЗУЧАЮТ питон по каким-то книгам.... нахуй настолько простой язык изучать по книгам. Все обучение питону умещается на 2-х страницах текста
Ну, если рассуждать с этой позиции, то на изучение синтаксиса вместе со встроенными функциями, типами и соответствующими им методами у человека, знакомого с программированием, может уйти меньше дня.
Я плохо знаком с литературой по Питону, но могу предположить, что в хорошие книги по нему вполне могут быть добавлены примеры работы со встроенными/сторонними библиотеками и прочие полезности. Остальные же из них рассчитаны на новичков, которые с программированием знакомы чуть менее чем нисколько.
Чего ты смеешься? Питон реально за 1 день изучается, если ты уже знаешь хотя бы C++, Java.
На хабрахабре даже есть какая-то статья, в которой питон на одной странице поясняется.
Хотя если ты не знаешь других языков и не понимаешь принципов ООП и вообще как работает программирование, то потребуется больше одного дня, да...
в /gd загоне меня гнали в этот загон, крича о том что именно кодинг обсуждают в /pr-загоне, отсюда гонят туда... из загона в загон...
Алсо, я прекрасно знаю python, так что вполне подхожу в тред о python-программировании
>Питон за 1 день
>На хабрахабре
Нужно быть немножко тоньше.
Даже если ты пришёл с большой панамкой, чтобы просто набрать хуёв.
Шапка не так давно зародилась(в том виде, в котором сейчас), так что не ссы
ты слепой чтоли? там в каждом уроке в самом начале ссылка на Github и Архив с исходниками
как такое сделать?
ебать ты жирнич так ты же хуже червя-пидора ты копипастер!!!!111
выучил он пиздон за 1 день охуеть /gd/дебилы пробил очередное дно
Ну так и решай её сам, а то так ньюфагом и останешься.
>ебать ты жирнич так ты же хуже червя-пидора ты копипастер!!!!111
>выучил он пиздон за 1 день охуеть /gd/дебилы пробил очередное дно
Ты объебанный чтоли? Пишешь так, словно ты под бутиратом каким-то
Делаешь функцию, которая из имеющегося списка всё аппендит в новый, но если она встречается список вместо числа, то вместо аппенда вызывает сама себя на этот список.
import json
m = [1, [2, 3], 4, [5, [6]]]
out = json.loads('[' + json.dumps(m).replace('[', '').replace(']', '') + ']')
>>78292
fixed:
m = [1, [2, 3], 4, [], [[], [], [[]]], [5, [6]]]
out = json.dumps(m).replace('[', '').replace(']', '').replace(',', '').split()
В задаче, конечно, хотят, чтобы решали через рекурсию. Но это не интересно, скучно. По-моему это делается даже проще самыми штатными средствами питона, но сейчас не понимаю.
Хоть тут и извращение, но скорее всего оно будет работать быстрее, чем реализация через рекурсию. В реальном коде такой подход очень даже оправдан.
Но для обучения лучше сделать как положено.
Похуй что наброс.
Мало-мальски нормально никакой язык за несколько дней не учится. Если ты круто умеешь писать на Java/C++, то основной синтаксис очень быстро освоишь и писать как-то сможешь, но особая специфика языка требует уже больше времени, и по-началу будешь писать на питоне так, как на C/C++/Java, только убого, поскольку питон это не C++/Java.
Язык это не только синтаксис, это ещё и масса практик, как на этом языке грамотно писать. А это уже времени требует и реального опыта.
Да это фигня какая-то, там же вообще могут быть произвольные объекты. А рекурсия новичкам как раз должна быть интереснее, чем твоё решение
Мне нужно в __init__ передать неопределенное количество аргументов, например:
className("1", test="3", procedure="10"), с учетом того, что test/procedure - это рандомные имена.
Как это сделать? Гуглил по поводу super, но не смог врубиться. Спасибо за помощь.
Тебе нужны функции с переменным количество аргументов, копай в сторону args и kwargs.
Просто, видимо, kwargs работает именно с функциями(или я не разобрался), а мне нужен метод __init__
Написал бы хоть, какую именно "ту же ошибку". По твоему описанию необходимо что-то вроде __init__(self, arg, kwargs), что лично у меня работает без проблем.
Заебись, двач сожрал две звёздочки перед "kwargs".
Кто работал с FreeCAD помогите плез. Буду очень благодарен за помощь. Пытаюсь импортировать FreeCAD в python. Но выдаёт ошибку, что модуль не обнаружен. Делал всё по инструкции по ссылке https://habr.com/ru/post/464113/#III , а так же еще 200 различных вариантов с указанием пути(как на втором пике). У меня установлен python 3 и FreeCad 0.18.
1, Разве так эта херня работает? Сколько раз юзал фрикад - писал скрипты именно для внутреннего запуска из фрикада.
2, Версию для 3 пистона подвезли? Вроде ж только вторая была.
1. Ну насколько я понимаю можно как из фрикада юзать, так и использовать фрикад как модуль импортируемый
2. Вроде как да, по крайней мере вот ссылка https://www.freecadweb.org/wiki/Python_3 с их же сайта, но пока что вариант, что это ошибка из-за разных версий питона тоже рассматриваю.
Беру свои слова назад, видимо я дурак и как-то криво написал код. Все теперь работает, спасибо.
Я обычно читаю условие, и не глядя на решение, стараюсь написать код сам, а дальше уже сверяю.
Вот есть у меня такой отрывок:
for value in reader:
date = datetime.strptime(value[2], '%Y-%m-%d')
Написано, что первый аргумент это строка, а второй это то, как данные представлены в строке. Иду в свой csv и вижу: 7/1/2018. Ну, я и пишу %m/%d/%Y. Вылетела ошибка, сделал как в книге '%Y-%m-%d и все работает. Бля, ну хоть дотукался посмотреть что print(value[2]) выдает, а там 2018-07-01. Почему так?
И еще, гуглил, там кидали ссылки на документацию. Мне идиоту ничего непонятно, как быть. Я читаю и понимаю, что ничего не понял.
Спасибо :3
Вылетающую ошибку анон должен гадать?
Всё ок работает.
У тебя либо проёб в представлении данных или ищё что
Тебе твой эксель показывает не то, что в файле на самом деле. Смени представление данных у столбца на текстовый формат, например, и ты увидишь.
чаво блядь? ну поищи туду лист на гитхабе увидишь синтаксес епта нах чедух ебана
в общем такой вопрос к уже прошаренным:
у меня есть некоторый код в котором есть своеобразные чекпоинты. логика следующая: если чекпоинты эти не проходятся то код ниже до определенного этапа выполнять не надо. так вот я додумался это сделать следующим образом:
decision = False
while not decision:
some code
some code
some code
decision = checkpoint()
some code
decision = checkpoint()
some code
break
Вопрос вот в чем: ТАК ДЕЛАТЬ ВООБЩЕ ЛЕГАЛЬНО? может быть я просто не знаю как подобную хрень организовать
мимоньюфаг
забыл пояснить что checkpoint() некоторая функция возвращающая boolean
Исключения.
Есть у меня csv файл с температурными данными (пик 1). Мне нужны поля с индексами 2(дата), 4(макс. температура) и 5(мин. температура).
В csv файле есть пустая строка, при обработке которой выскакивает ValueError.
Я сделал такую реализацию: https://pastebin.com/B3xpcJKB
for row in reader:
# преобразовываю строку в дату(?)
currentDate = datetime.strptime(row[2], '%Y-%m-%d')
# чекаю на ошибки
try:
low = int(row[5])
high = int(row[4])
except ValueError:
print(f"Missing data for {currentDate}")
else:
dates.append(currentDate)
highs.append(high)
lows.append(low)
У меня получается такой список:
<...>
46 - 2018-02-16 00:00:00
47 - 2018-02-17 00:00:00
48 - 2018-02-19 00:00:00
49 - 2018-02-20 00:00:00
<...>
46-49 индексы массива. Получается при всплавании ошибки ValueError, блок else пропускается и цикл переходит на следующую строку. Следовательно записи о 18 феврале у меня нет ни в одном списке.
НО, запускаю я программу, нахожу февраль, и вижу что появилось 18 февраля, откуда? (пик 2)
Есть у меня csv файл с температурными данными (пик 1). Мне нужны поля с индексами 2(дата), 4(макс. температура) и 5(мин. температура).
В csv файле есть пустая строка, при обработке которой выскакивает ValueError.
Я сделал такую реализацию: https://pastebin.com/B3xpcJKB
for row in reader:
# преобразовываю строку в дату(?)
currentDate = datetime.strptime(row[2], '%Y-%m-%d')
# чекаю на ошибки
try:
low = int(row[5])
high = int(row[4])
except ValueError:
print(f"Missing data for {currentDate}")
else:
dates.append(currentDate)
highs.append(high)
lows.append(low)
У меня получается такой список:
<...>
46 - 2018-02-16 00:00:00
47 - 2018-02-17 00:00:00
48 - 2018-02-19 00:00:00
49 - 2018-02-20 00:00:00
<...>
46-49 индексы массива. Получается при всплавании ошибки ValueError, блок else пропускается и цикл переходит на следующую строку. Следовательно записи о 18 феврале у меня нет ни в одном списке.
НО, запускаю я программу, нахожу февраль, и вижу что появилось 18 февраля, откуда? (пик 2)
Мб корутинами
> НО, запускаю я программу, нахожу февраль, и вижу что появилось 18 февраля, откуда? (пик 2)
Ты шо тупой, график по точкам строится. Он просто между 17 и 19 провел линию.
И открой для себя pandas
Ясно же, что он не про линию между 17 и 19, а про 18 февраля на оси x, которого там не должно быть, так как оно отсутствует в переменной dates.
Ну или, как вариант, mathplotlib достроил его самостоятельно, но лично мне это кажется довольно странным решением.
Я по книге делаю, мне по сути ни для каких задач он не нужен, просто интересно почему появилось 2018-02-18 если в dates этого значения нет (смотри выше)
>>78960
>Естественно если хтиксы не выставлять мпл сам их достроит
Подскажи нубасу, плс, что это значит. Откуда он догадался, что там именно 2018-02-18, а не любое другое число?
Или я тебя не понимаю, или почему ты не можешь просто использовать continue?
decision = checkpoint()
if not decision:
continue
> Откуда он догадался
Потому что у тебя по оси Y - даты, и тут и правда сложно понять как он "догадался" про следующую дату нахуй.
Ну то есть это как в экселе - заполняешь 1,2,3, а дальше уже эксель автоматом подбирает? Странно.
Считай что так.
Вообще, обычно, надо указывать конкретное поле которое является датой, но, возможно, он может автоматом определять тип.
Так я и определил, у меня есть два списка temperature и dates. Оба списка одинаковой длины, как я говорил выше, 2018-02-18 там и в помине не должно быть, странно что он добавил его. Список temperature по оси y, dates по оси x.
Спасибо за ответы!
pip3 install --target ./app pypiwin32
echo from win32api import * > app\__main__.py
python app
получаем
No module named 'win32api'
Пробовал с таклое же с другими модулями и они работают.
Если я устанавливаю pypiwin32 в систему или в venv, то импорт работает.
Пробовал шаманить с sys.path, модуль стало находить, но не может теперь найти какие-то DLL, названия которых он мне не сообщает.
Предложи что получше. Но на этом чём-то должно быть удобно писать glue code.
Потому что на жабе написан.
Можешь попробовать вижуалку, там вроде тоже питон поддерживается. А ещё можешь докупить оперативки.
Сап,питанули, освоив некоторые азы питона, решил начать учить джаву, и по мере ее изучения, постоянно возращаюсь и к питоновской документации, питоновским основам: к типам, их особенностям, к типизации вообще, сравниваю реализации сборщика мусора, насколько они важны для обычного челика, особенности ООП.
В общем, у меня вопрос: вот такое постоянно "переотркытие" и погружение в глубь - это норма или просто я тупой?
да, ты тупой. потому что лично я родился со всеми этими знаниями.
Попробовал на go запустить аналогичный по функционалу код – считывает с нормальным фреймрейтом
Можно ли как-то на питоне добиться нормального по скорости чтения потока с камеры? Может попробовать другую библиотеку для этого?
в бэ, дэбил
А какой у тебя фреймрейт на камере?
Что за камера вообще? ИП или так?
Опенсв - норм либа, со скоростью работы там всё ок. Скорее всего готовишь неправильно.
Я использовал её для обработки кадров с фулхд ип-камер и всё было прекрасно, кроме одного но, вместо ffmpeg заюзал gsrtreamer(но причина была не в скорости, а в потере пакетов).
Камера стандартная макбуковская (вроде 720р тут)
>Скорее всего готовишь неправильно
Возможно, но я вроде всё делал по примерам, не знаю даже, где тут можно обосраться
Если убрать всё остальное, то делал так:
stream = cv2.VideoCapture(0)
while True:
ret, frame = stream.read()
cv2.imshow('frame', frame)
Пробовал через потоки делать – результат одинаковый, в районе 20-25 фпс, при том, что ноутбук это всё спокойно тянет.
Отступы потерялись, но надеюсь суть понятна
TypeError: '>' not supported between instances of 'A' and 'int'
Подскажите как быть?
__gt__() то есть.
Ну, если быть точнее, то << и >>.
Хер пойми, что ты вообще сделать пытался.
Во первых, у тебя не перегружен метод __gt__, который есть >.
Во вторых, PITCHES.index(other.note)
other у тебя приходящий параметр, целочисленный. Откуда ты берешь у него свойство .note - непонятно.
То, что тебе надо - это
if PITCHES.index(self.note) > other:
Спасибо за помощь, писал rt из-за аналогии c lt. В плане other.note - это уже попытки эксперимента.
Еще раз спасибо, все работает.
уже разобрался сам
points = [Point('A', 0, 3), Point('B', 4, 0)] -> [Point('A', 0, 3), Point('B', 4, 0)]
Не могу сообразить как на выводе выдавать класс в таком формате. Буду рад помощи, спасибо.
https://pastebin.com/pk0ys3aD
f"Point({self.name}, {self.x}, {self.y})" ? Иначе не очень понятно, что тебе нужно.
Задача в пасте: https://pastebin.com/uyBqDYD2
Я вообще не могу сообразить, как c этим __repr__ манипулировать.
def __repr__(self):
____return f"Point({self.name}, {self.x}, {self.y})"
С контейнерами всё работает так, как надо. Если нужны кавычки вокруг имени точки, то возвращай f"Point('{self.name}', {self.x}, {self.y})".
>def __repr__(self):
>____return f"Point({self.name}, {self.x}, {self.y})"
>
Спасибо за помощь, не думал, что все настолько просто.
почему 0.99999999999999999 (не период) в питоне равен 1 ?
>>> 0.99999999999999999
1.0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'СУУУУКа' is not defined
?
нахуй иди
Значит, на сколько я понял, после преобразования, значение становится, допустим, 0b101 (число 310), то есть имее в себе буквенный знак, то есть становится строковым.
Вообще, для чего 2-,8-,16-ричные типы имеют 0 в начале?
покажи что за хуйню ты там творишь
Тебе шашечки или ехать? Нужна точность - юзай decimal, не нужна - float. Или ты хочешь аппаратную длинную арифметику? Это не к питону.
> Вообще, для чего 2-,8-,16-ричные типы имеют 0 в начале?
А что будет в начале, если отрицательное число привести к 2/8/16 типу?
Почитай на вики про двоичную систему счисления, а особенно внимательно про прямой, обратный и дополнительный код. Многие вопросы отпадут.
Я не он, я это знаю, я у того анона спросил, как бы намекая.
Есть датафрейм пандаса (изначально csv файл). В одном столбце названия файлов, каждый файл два раза встречается в столбце. В другом значения true / false. Нужно вывести названия тех файлов для которых оба раза значение во втором столбце было true. Нихуя не понимаю как это сделать и нужен ли вообще пандас для этого? Вообще в таблице больше столбцов, но речь идет об этих двух.
пока что дошел только до такого решения, что оставить только те строки у которых значение во втором столбце true, а потом только тес строки которые два раза встречаются. Но мне кажется, что это слишком кривой костыль.
Возможно, не совсем понимаю специфику задачи, но в чём проблема пробежаться по строкам твоего датафрейма, оставляя одну строку из двух подходящих и удаляя все остальные?
т.е я прохожу по строке, проверяю название файла и значение, если false, то иду сразу дальше, если тру проверяю был ли этот файл раньше, если не был то добавляю его в список, если был то проверяю есть ли он уже в списке, если уже есть, то добавляю этот файл в итоговый список. Такой порядок получается, верно?
А почему бы тебе не почитать https://docs.python.org/3/library/csv.html
Твоя задача имеет решение в пару строк.
Да, наверное примерно так. Возможно, это не самое производительное решение, но, как мне кажется, одно из самых простых в плане реализации.
А, я кажется вспомнил. Начальный бит выделяется под знак, если 0, то знака нет, то есть +, а если 1, то -.
Ведь так, правда, правда? Видишь, какой я, сам вспомнил, ни куда не заглядывал, ух-х...
Малаца
Угу. А ещё все остальные биты инвертируются, а потом всё увеличивается на 1.
Это точно тред про питон?
Это "Давно забытых знаний тред", теперь.
Это просто обозначение, чтобы отличить от десятичной записи, если где-нибудь выводятся числа в разных системах счисления. Откуда эти обозначения взялись - другой вопрос, но это не важно для разработки.
Я вернулся с твёрдым и чётким тз. Вот так это должно выглядеть. Помогите пожалусто, у меня никак не получается
Тебе нужно, чтобы один график функции был наложен на другой, или что? Если нет, то просто определяешь эту функцию тем же способом, что и в прошлом твоём скрипте. Либо можно сильно изъебнуться и вывести явное выражение, но смысла особо нет.
Нет, график единый, просто должен быть изменён. Я понимаю, что нужно написать функцию. Я не знаю, что в ней писать, я геометрию не знаю, как эту ступеньку сделать то сука. Задача то какая полуебская, программисты не скажут как изменить, математики не скажут как реализовать.
Синус непростой, его ещё нужно домножить на некую константу и сдвинуть на 1 вверх. Константа, полагаю, равна -π.
Спасибо.
https://pastebin.com/0YGHqgX6
def func(x):
____if 1 <= x and x <= 2:
________return 0
____else:
________return cos(x) - 3*sin(x)
То, что у тебя было.
Забыл звёздочку у list_bells в BellTower.
Спасибо тебе, анончик, добра! Ты меня спас
Первая мысль - селениум+лист с проксями и всё это отмасштабировать. Но тут упираюсь в тяжесть для оперативки такого подхода.
Какие есть варианты ещё? Какие параметры в хэдере/ещё чем-то мудрый анон посоветует менять?
Я понимаю, что каждый сайт уникален +/- в защите, но может есть общие советы?
Yep
PyQT/PySide, Kivy
Потому что в BellTower ты передаешь 2 объекта, а не список объектов, как ты, видимо, хочешь. Оберни их в список, должно заработать.
Хелп нуфагу.
В общем, пытаюсь сделать так чтобы пикрил1 выводил цену и продукт по очереди как на пикрил2, но не повторял ее столько раз, сколько товаров
Оцените мудрым взглядом и скажите где оплошал, буду очень благодарен!
Хм, но ведь математика не нужна...
это девопс
Ты гений! Спасибо! Что это за zip такой? Эх, вот же классный язык!
Как по значению одного списка вернуть другое?
у меня есть:
a = [майнкрафт, варкрафт, старкрафт]
b = [1, 2, 3]
c = input()
В инпут я хочу забить значение списка b, чтоб мне по индексу возвратилось значение из списка a
Как такое провернуть?
Можно, но 3D пишут редко.
Про zip загугли.
А по поводу задачи - ты мог просто убрать цикл в цикле и оставить лишь внутренний цикл. У тебя все равно длина первого и второго массива совпадают, так что с индексами все будет нормально.
Конечно, лучше использовать zip, но если бы ты вдруг не вспомнил про него, то вариант выше подошёл бы, я считаю.
А ещё он мог создать один список из множеств, в которых по хранится пара значений. Раз уж мы начали эту тему.
As I see the structure of the program: 1. The web scraper reads the information, and then its processed. My question is: where should the scraper work? On server? Please help with choosing the right technology.
2. GUI. As far as I know, Python is not quite suitable for mobile development, however I would like to use it. Is it possible to use only Python for this task, or its advisable to use a different language instead or together?
I would really appreciate feedback and links to suitable resources. Thanks.
Чтоб мобилку писать, юзай киви
try:
farh=float(vvod)
cel=(farh - 32.0)*5.0/9.0
print (cel)
except:
print('Введите число')
Почему не работает код? try просто скипается.. Пример из книги, но я не пойму
Я ж писал о том, как сделать, если вдруг zip не помнишь. С ним-то все понятно. Просто я, например, не так часто его использовал, чтобы запомнить функцию, поэтому и решил бы задача без неё.
Так ладно, тут я опростоволосился.. первый раз со скрином, второй раз с пробелами.. Лучше почитаю дальше, а за практику потом
Энивей проще юзать словарь
Чарм
neovim one love
Мы экстрасенсы? Кидай код или фикси сам.
Могу предположить что там должен быть цикл
Код бы на пастебин залил бы.
Сап, хочу сделать простой счетчик слов. Но, что бы не было лишних символов, почему то остается "-". Если я его включаю в forbidden - ошибка, без него все ок.
File "/count.py", line 17, in sort
something = something.replace(something, '')
AttributeError: 'list' object has no attribute 'replace'
Вообще не понимаю, почему так?
И норм ли такая сортировка вообще? Просто я только учусь
1) Нахуя ты делаешь реплейс списка?
2) Если ты собрался отсекать только отдельные символы (которые отдельно от слов), то лучше делать .isalpha()
А может ты? Длину списка вычислять, блять, после не менее затратного процесса его создания. А если у него там миллион слов?
И что? А может вообще ты даун?
ну земля говном тогда
Дед-алгоритмизатор, ты? У чувака с хеллоувролдами проблема, а не тестовое с бигдатой
Почему не доебался что будет в случае с множественными пробелами?
О, лялех
А нахуя? Чтобы выполнять на 0.100с быстрее или ты строчку не осиливаешь?
Хорошо, выражусь иначе: он эквивалентен предварительному созданию списка всех слов и вычислению его длины, что для данной задачи чем-либо кроме индусского кода назвать нельзя.
>типичный fizzbuzz однострочник
>индусский код
>>82578
Он бы создал цикл и прошёл по всему стрингу, ведя один счётчик, обнуляющийся на каждом пробеле или символах из форбидден, и инкрементирующий другой счётчик, если между этими символами были буквы. Ещё ему там нужно продумать разницу между дефисом в слове и дефисом отдельно, дефис будет как-то отдельно.
Получится куча говнокода с той же линейной асимптотикой
>>82444
Я понимаю, что скорее всего слишком много написал хуйни в коде конечно, но мне нужно не просто посчитать слова, а сделать вывод повторяющихся, но что бы там не было лишних символов.
И вывод должен быть такой, только почему то "-" мешается и его нельзя поместить в forbidden
>>82434
>Сап, хочу сделать простой счетчик слов.
И да, я ошибся немного. Счетчик повторяющихся слов* Просто думал по коду и так понятно будет
Текст задания: Дан номер дня недели. Выведите название дня недели.
Хочу чтобы если вводишь числа не в диапазоне (1-7) он предлагал ввести еще раз, в турбо си можно было делать goto, а тут, как я понял, нельзя. Че делать, ебать?
Засунь input в начало функции и вызывай в else функцию
Гото уже не актуально, используй цикол.
Используй цикл while
1) Так и не понял зачем тебе json
2) Лучше делать проверку слова на isalpha и если не проходит чекать по буквам
Уже понял зачем json
>2) Лучше делать проверку слова на isalpha и если не проходит чекать по буквам
А если вообще вот так сделать https://pastebin.com/4jCrnC67 ? И работает кстати нормально, и выглядит уже получше
>>82636
>1) Так и не понял зачем тебе json
Просто лишний раз попрактиковаться
Так не прокатит же если "хуйня!" и подобное
И зачем тогда not in? isalpha отсекает всё где есть что-то кроме букв + это так не работает
if word.isalpha():
word_list.append(word.lower())
else:
clear_word = ''.join(c for c in word if c.isalpha())
if clear_word:
word_list.append(clear_word.lower())
Ток с дефисами над чет думать
Слова с разными окончаниями считаются как одно слово или 2 разных? Если уж начал капаться в этом, то посмотри на nltk.tokenize.word_tokenize(). Он тебе сразу всю пунктуацию выпилит и слова разделит. Останется только посчитать их.
Хотя за скорость работы не ручаюсь. Понятия не имею, сколько оно займёт по времени, но вообще у tokenize есть разные токенизаторы и работают они по-разному. Можешь в них покопаться, если в производительности есть смысл.
Подскажите плз, какие знания необходимы для среднего джуна в питоне? Что нужно знать и уметь способным написать?
Я не физик/математик, потому, наверное, научная деятельность и рассчеты не в приоритете, так что вопрос скорее о вебе, ботах, автоматизации, какие там еще направления быть могут
Пиздос, ты хоть пробовал какую-нибудь книжку по питону почитать (хотя бы пару глав) прежде чем начинать писать код?
А хули он у меня когда 2 отступа стоит и в настройке и в коде, код забагованным получается, хотя отображается правильно? В блохноте открываю а там всё наперекосяк. Так всё в нём нравится, если бы не это.
Я у себя настроил табуляцию как четыре пробела. Все работает, полет нормальный. Ещё немного и отдам 80$ славным разрабам.
По дефолту так и стояло. Но сразу менял на 2. Наверное баг. Потом запаришся исправлять код после него...
https://ideone.com/D7Xmc4
Су
Суть в том, что нужно сделать вывод в историю вообще всего, а не только запроса на сайт (там есть Info, но в историю почему-то не сохраняется)
Молю о помощи
Нет
Если точнее, у меня есть 4 выражения, нужно вернуть одно, когда они все True и что-то другое в обратном случае, но в одну строчку смотрится всрато
Боты/парсеры и всё что около них. С этим проще всего войти и поднять начальные деньги. Если будешь знать Flask какой, то ты уже очень неплох и можешь в клиент-серверные приложения.
На работе уже нужен набор посолидней. Уровня RabbitMQ/Redis/Celery, попутно с этим Django/Flask/aiohttp/Tornado, а также надо бы знать за тестирование(виды и способы). Иногда требуют голый питон(да, недавно узнал что и так можно работу найти), но для этого надо зубрить питоновские доки и ООП.
На джуна тебя будут спрашивать поверхностно, с мидла уже спрашивают глубже, с юз-кейсами и прочими радостями.
ну так на графике видно, что нет у тебя никаких значений на 18 число.
при этом масштаб легенды = 1 день, вот либа и вставляет этот день на легенду, чтобы график правильный был.
Поменяй масштаб легенды, там и не такое появится.
Вскод тут непричём. Это цветовая схема терминала используемого тобою. В крысе это, например, xfce-terminal. Фиксится изменением цветов в конфиш файлах.
https://askubuntu.com/questions/676428/change-color-scheme-for-xfce4-terminal-manually
Да менял я тему в wsl чет все равно такая же говнина. Если в вскоде тему менять, то цвет выделения тоже меняется, но не особо читаемо все равно, да и тема меня не устраивает.
Ну ладно, это не критично, просто неприятно.
Илиот ты ебаный, при чем тут wsl, vsc??? Ёбаный ты кусок дегенерата, сходи по ссылке и измени foregroundcolor, ебанутый кусок дерьма ты.
Удивительно, но статус достал. Теперь проблема достать вот это. Все не уникальное
Парсеров очень много, выбирай тот, который тебе подходит
притом, что консоль в вскоде от всл, ты последок сутулого пса, сходил тебе за щеку и изменил микрофлору твоей ротовой полости методом орошения.
Дебила ебаного кусок, ещё раз тебе повторяю спермохлёб ды задроченный, терминал в прыщах наследует тему из конфиг файлов. В гуи настройки как раз этмх файлов. Ебанашка ты тухлодырая.
Повторяю тебе ебаному куску дерьма, что у меня не прыщи тем более крысиные лол, я же не умственно отсталый, а wsl
ебанько блядь конченное
Оставляю тебе право на последний, бесполезный как и остальные, кукарек.
Я тебе последний раз дегенерату ебаному объясняю, что дело не в wsl и том, что у тебя не прыщи. Прыщи у тебя обмудка ебаного внутри wsl!!! Всл это виртуальная машина с образом прыщей. Блядота ты необразованная, ято же ты за залупа такая конченая то. Сука, как ты вымораживаешь уже вовремя не вынутый хуй из пиздятины.
Я не погромист и это не для коммерческого использования, чисто для себя скрипты и т.д.
Есть опыт использования делфи в таком же ключе. Есть ли библиотеки под питон для подобного построения гуя?
Вроде питон не идеален под это, но он не сложный и широкого назначения, может пригодится потом для других задач, поэтому выбор пал на него пока.
хуесос ебаный мать твою ебал гнида блядская
там такие же прыщи как на жопе твоей мамаши отрисовка консоли виндовая ебанько тупое
мразь тупоголовая
скот блдь
Еще раз тебе говорю еще раз блядский сука раз
менял я ебаную тему
не работает нихуя
пошел нахуй
все умолкни, птушник.
Шлюха ты с обдроченными губами сука твою гей шлюху отца ебал!!! Нет никакой отрисовки сосноли виндовая. Идиота ебаного кусок тебе говорят править тему внутри wsl, ты сука ебаная вообще нихуя не понимаешь что ли? Дебила ебаного кусок сука боядь. Гниба ёбаная по ссылке выше попробуй внутри wsl изменить конфиг и увидешь, что твой терминал изменит цвета. Мразь вонючая ты уже конкретно бесишь блядота губастая.
>Еще раз тебе говорю еще раз блядский сука раз
менял я ебаную тему
Ну ты и дебил блядь) Иди ковыряй свой прыщикс, у меня другие проблемы.
Прочитана книга "Укус пистона", немного полистал лутца и еще пару книжек. Сейчас читаю " Автоматизацию рутинных задач на языке Питун" на мой взгляд лучшая книга из прочитанных.
Олимпиадные мне не подходят, там упор на математику, а у меня с ней oche huevo
Хотелось бы чтото близкое к реальной разработке на веб, боты-хуеты, парсинг. Думал может запилить рпг, но в ооп пока могу слабо, хоть и понимаю основную идею. Хелп аноны, пока есть мотивация надо пушить это дерьмо.
И еще такой вопрос, что читать чтобы понимать основы погромирования, проектирования программ не привязываясь языку питун. Вот задумал я игру на ооп, как мне эту пирамиду ебаную построить правильно?
Блок схемы рисовать? Цикл вуле, прорисовка обьектов это ж пиздец какойто. А можно прям в консоли чтобы графика была символьная? Хотеть такое.
Ведь одно и тоже говно можно написать на разных языках и делоть оно будет тоже самое
Наверно мне алгоритмы нужны, а как их составлять самомк? Короче вопросов очень много.
>>83881 благадарю
Если для себя, и гуй не сильно сложный, то почему бы и нет? Хотя для винды такое обычно на C# делается.
Ну собственно вон по ссылке можешь видева смотреть ет вводный курс во все говно, что ты хочешь знать , будешь знать основные структуры данных, алгоритмы. Те кирпичи на основе которых строишь приложуху.
Это единственный выход нормально использовать сишние библиотеки не слышавшие ни о какой многопоточности при условии, что 99% питонистов не программисты.
Очерёдность выполнения потоков определяет интерпретатор в зависимости от реализации.
С Википедии взял. Сам в душе не ебу и тоже жду ответа на вопрос от знатоков, а то на собесе всплывал такой вопрос, а я нихуя не ответил.
Не ответ. CPython GIL GIL PIDOR. Айрон пайтон и житоны не имеют таких проблем.
То есть проблема в сишных библиотеках, а отдуваться должен питон? Заебись, чо.
>Это единственный выход нормально использовать сишние библиотеки не слышавшие ни о какой многопоточности при условии, что 99% питонистов не программисты.
почти все сишные либы тред-сейф и не используют шаред мемори. Те что не тред-сейф написаны чмохами типа тебя
Всё так, потому что толку от того что собеседующий лезет под залупу - никакого нет, больше похоже на ЧСВ-еблана, который что-то где-то узнал и теперь ходит и у всех спрашивает.
Может и ответ. Я тогда вообще ничего не ответил, потому что мне вообще похуй, чо там происходит по факту. Только после собеса я начал копаться в этой хуйне немного и набрёл на этоот ответ из Википедии, вот и всё.
А без этого питон был бы как руби, только еще дальше - потому что питон отвратительная хуйня, где не осилили ООП и в частности инкапсуляцию, а руби хороший язык.
Проще говоря, без этого питон был бы скриптодрисней для админов и отдельные сумасшедшие писали бы на нем веб. Никакого ML, CV, DS бы не было.
А это лучше ответ. А что за логика планировщика?
Это да.
>sqlalchemy
Эта хуйня уже устарела
че там вместо нее я не запомнил, но запомнил, что устарела!
Зачем ты повторяешь слова своей матери?
Это копия, сохраненная 27 октября 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.