Ответы пользователя по тегу Python
  • Vim/Emacs для Python?

    @fdrwitch
    1. вам что надо прежде всего: осваивать питон или плагины для вим/имакса вникать и настраивать?
    2. ставьте ipython (с автодополн) и пишИте, пишИте, пишИте свои примеры....
    3. мало будет, и если вы не веб, то ставьте джупитер с веб интерфейсом...
    Ответ написан
    Комментировать
  • Как решить проблему связанную с созданием проекта в pycharm?

    @fdrwitch
    1. Делайте через вирт окружение и вам пайчарм сам поставит в этом окружении и джангу
    и питон нужной версии...
    2. через пип инстол и пип фрииз устанавливаете и смотрите чего установили ...
    3. прямо указывайте про какую пайчарм речь: комъюнити или профешионал? (лучше вторая, иначе лучше сидеть в плагиновом виме -- он заменит пайчарм)
    Ответ написан
  • Стоит ли полностью все приводить к классам?

    @fdrwitch
    По- простому, как пишут в книжках (см Саммерфилд), классы тогда, когда несколько сот строк код длиной ...
    По - сложному, можно и для 50-и строк класс сочинить. Это когда нужно сочинить сложную многотиповую
    (в смысле Си) структуру со своим специфич -им функционалом (приходит на ум колода карт у Ромальо в
    самом начале его книжки и то, это сугубо для объяснений последовательности и итераторности и использования нужных спецметодов).
    Но стандарт биб-ка такая большая и полная и , если
    не специально хитрый выпендрёж, то вполне всяких модулей или даже билтинза хватает...
    уж тем более по файлам.
    Заметьте, словари --- самая сильная фича в питоне и заточенная к тому же (особ-о после 3.6)
    Ответ написан
    Комментировать
  • Python как разбить числовой ряд в строке разделителями?

    @fdrwitch
    Здесь слова числовой ряд неспроста!! И обОзван ряд как бы тИповым именем? (т.е. нефига со строками связываться)....
    Тогда по-тупому получается так (улУчшите сами, если найдете как):
    >>> str = 336103717420394750915250079894388700375458014765342093064130
    >>> str6out = str % (10**10)
    >>> str6out
    2093064130 # последняя десятка
    >>> str5 = (str - str6out) // (10**10)
    >>> str5
    33610371742039475091525007989438870037545801476534
    >>> str5out = str5 % (10**10)
    >>> str5out
    5801476534 # предпоследняя десятка
    >>> str4out = str5 % (10**10)
    >>> str4out
    5801476534
    >>> str3 = (str4 - str4out) // (10**10)
    >>> str3
    336103717420394750915250079894
    >>> str3out = str3 % (10**10)
    >>> str3out
    5250079894
    >>> str2 = (str3 - str3out) // (10**10)
    >>> str2out = str2 % (10**10)
    >>> str2out
    2039475091
    >>> str1 = (str2 - str2out) // (10**10)
    >>> str1out = str1 % (10**10)
    >>> str1
    3361037174
    >>> print(str1out, str2out, str3out, sre4out, str5out, str6out, sep=",")
    3361037174,2039475091,5250079894,3887003754,5801476534,2093064130
    Ответ написан
    Комментировать
  • Как правильно задать кодовую страницу в os.system(cmd)?

    @fdrwitch
    в питоне 3.6 и 2.7 ваш пример дает одну и ту же ошибку:
    sh: 1: chcp: not found
    32512
    если дать типа простого cmd = 'mkdir aaaaa', то всё проходит ....
    это, как написано в документации по либреф (16.1) " Execute the command (a string) in a subshell. "
    Наверное у вас что-то с виндой не так!!!! Проверьте хотя бы на ord('ы') -- должно быть 1099 !!??
    Ответ написан
    Комментировать
  • Почему эти два участка кода не эквивалентны друг другу?

    @fdrwitch
    1. Ох уж эти егэ-шные задачи....
    2. Если вы привязались к числовой оси, то это не только точки с их значениями на этой оси,
    но и много много всяких подпоследовательностей (хоть отрезков) и
    проверка на вхождение точки (принадлежность точки) ин или нот ин -- самое то!! (для питона это
    мембершип тест оперейшнз)
    Ответ написан
    Комментировать
  • Как создать цикл при котором значение второго if будет выполняться только если первый if выполнен?

    @fdrwitch
    1. нельзя в одном иф-е работать с одним бул-экспрешин 2 раза!!!!! (эльиф никогда не сработает)
    2. после первого ифа делайте второй полноценный (как вам сказали)
    a = 1
    if a:
    \t some code
    \t a = 0
    if a == 0:
    \t some other code
    Ответ написан
    Комментировать
  • Стоит ли иди в программирование, будучи инженером?

    @fdrwitch
    Фигня!!! Если конструкторский задел уже есть, зачем раскидывать....
    А компас3д , а КАЕ пакеты (уже расчет по моделям, что конструктор сваял -- это если шило в одном месте,
    кстати там на макросах всякие сборки обсчитывать как раз программирование),
    а ПИДЕ-ЭМ на что? ... В любом КБ не хватает , особенно в оборонке.... Вон Сухой набирает , да и коломна недалеко.... (менять систему управления боем на какой-то интернет магазин я бы не стал.....)
    Ответ написан
    Комментировать
  • Python. Как из списка сделать многомерный массив?

    @fdrwitch
    ну, как бы по классике:
    n, m = 3, 3 #n - строки
    mat = [[ (j+ i*2 + i ) for j in range(1, m+1)] for i in range(n)]
    mat
    [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    Ответ написан
    Комментировать
  • Почему dict при каждом вызове показывает разный порядок элементов?

    @fdrwitch
    по определению, словарь -- это неупорядоченная коллекция из нуля и более пар ключ-значение и ....
    Ответ написан
    Комментировать
  • Онлайн курс Python?

    @fdrwitch
    вообще-то на ютубе много, например, вот, как бы продвинутый

    https://www.youtube.com/watch?v=H2IWHyum6k8&t=54s

    в мгу было пару лет назад (UNEEX.ru), но по 2.7
    Ответ написан
    Комментировать
  • Как правильно учить библиотеки в Python?

    @fdrwitch
    "Магические" числа для Питона (верс.3.5) -- это 33, 13, 68, 37, 44, 2, 11(два раза), 17. Это есть -- 33 ключ. слова
    языка, 13 встроенных типов, 68 билт-иновских функций, 37 разделов в лайбрари референс (написано --держать под подушкой) , 44 - методов эстээр (без спецметодов), 2 метода у тюплов, по 11 у списков и словарей и 17 у множеств. В Пит3.7 чуть поменяется но не важно пока. Такой подход (через выучивание этих внутренностей) хорош для тех, кто уже что-то знает и Питон идет как второй язык (есть с чем сравнивать).
    Постепенно делаете приоритетность в 37 разделах, (какие группы модулей за какими номерами стоЯт) понятно, опираясь на модель данных и дальше уже по ним.
    Для примера, например, сначала получите эти числа программно, (типа как у keyword.kwlist)
    Ответ написан
    Комментировать
  • Есть ли эффективность у данных курсов?

    @fdrwitch
    Делайте по частям (шагам)

    1. Установите командную строку (хоть cygwin, хоть каноникаловский-убунтовский баш в винду). Далее про линукс можно прока не думать, а практиковаться с питоном (берите 3.5). В этом интерфейсе нужно знать 5-7 команд и редактор (хоть вим , хоть нано).

    2. Главное - сделать упор на питон и дойти на практике до самостоятельных написанных классов
    (пусть сначала наследование только от обжект, а потом уже от какого-нибудь класса-предка
    и с переопределением прЕдковых методов) -- тогда и общее понимание языка появится и главное что-то самостоятельное практическое. А Линукс -- потом добьёте, -- постепенно для другой цели .....
    Ответ написан
    Комментировать
  • С какой версии начать изучение python?

    @fdrwitch
    очень рекомендую третью. На дворе уже три-дот-пять. Ножницы разницы двоечников и троечников растут и растут. Особенно это видно в трипять, когда не без участия отечественных гуру асинхронное событийное программирование получило новое решение ..... После 13-14 года, когда толстые приложения начали переписывать на третью ветку, стало ясно, что "У гвидо в руках золотая рыбка".... Комъюнити получает драйв, клёвость и джаст-фо-фан от от развития языка.... -- ПОВЕЗЛО!!! Асинкио и авейт войдут в трисемь как ки-и-вёрдз. Сейччас трипять мейнстрим, потом трисемь пот четыреноль!!! И это 18-20 год -- куда и где там двоишники??? А библиотеки -- их перепишут (фром скрэтч), т.к уже другое питон программирование на дворе....
    Ответ написан
    Комментировать
  • Есть ли pywin32 для python 3.6.0a4 [MSC v.1900 64 bit (AMD64)]?

    @fdrwitch
    Куда вы торопитесь -- 3.6 будет только к новому году -- все ещё сыро...(после альфа еще будет 4 раза бетта)...
    Мало ли чего там нет (каких либ нет??, тем более для виндовоза)...
    Постучитесь головой об стенку -- может поможет!!! (шучу)
    Ответ написан
  • Как из двух списков сделать один?

    @fdrwitch
    Если все-таки сравниваются только соответствующие кортежи из списков (нулевой с нулевым, первый с первым...), то тут может быть вариант с множествами и одним фор.....
    a = [('1', 'a', 'b', 'c'), ('2', 'x', 'y', 'z'), ('3', 'x', 'y', 'z')]
    b = [('a', 'b', 'c', 'd'), ('x', 'y', 'z', 'w'), ('x', 'y', 'z', 'w', 'p'), ('u', 'o', 'n', 'm')]
    final = []
    for i in range(len(min(a,b))):
    final.append(sorted(tuple(set(a[i]) | set(b[i]))))
    final
    [['1', 'a', 'b', 'c', 'd'],
    ['2', 'w', 'x', 'y', 'z'],
    ['3', 'p', 'w', 'x', 'y', 'z']]
    Ответ написан
    Комментировать