Задать вопрос
Ответы пользователя по тегу Python
  • Когда запускаю код на MacBook с установленным Python, он не работает.На windows работает. Как исправить?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    На маке по-умолчанию вроде стоял чуть ли не 2-й Python, вы поставьте рядом с ним свежее (3.8 например), там и запускайте python3 my_script.py
    Ответ написан
    Комментировать
  • Откуда взялась неконтролируемая рекурсия в методе __repr__?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Думаю, дело в том, что запись f”{self”} пытается вернуть строковую запись объекта. Но строковая запись объекта как раз и возвращается методом __repr__, то-есть самим собой. Вот и получается, что оно само себя вызывает.
    Ответ написан
    2 комментария
  • Почему выдает ошибку UnboundLocalError: local variable 'a' referenced before assignment?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Во-первых, global a надо объявлять в той области видимости, в которой вы хотите видеть глобальную переменную.
    Во-вторых, видите, как легко накосячить с глобальными переменными? Ещё не начали, уже ошибки.
    Не связывайтесь с ними. Передавайте в функцию и возвращайте из функции нужные переменные и значения.
    Ответ написан
    Комментировать
  • Ошибка импорта класса из модуля?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Положим, у меня в корне проекта лежит файл
    parser.py с содержимым вроде:
    class Web_parser:
        def __init__(self):
            print('Web_parser initialised')


    Можно
    import parser
    wp = parser.Web_parser()


    а можно
    from parser import Web_parser
    wp = Web_parser()


    И то и то вроде как работает. В обоих случаях при создании экземпляра класса печатается строчка про инициализацию.
    Ответ написан
    Комментировать
  • Как задать вес определённому элементу списка Python?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Может, как-то так?
    items = [
        ["item1", 30],
        ["item2", 20],
        ["item3", 50]
    ]
    weights = [i[1] for i in items]
    rand_items = random.choices(items, weights=weights, k=1)[0]
    print(rand_items)
    Ответ написан
    1 комментарий
  • Почему переменная n = 0?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    В Python запись eps < abs(diff)
    может быть или верно или не верно.
    Т.е. или 1 или 0.
    В приведённом коде там всегда будет 0 < 1.0, т.е. верно (истина, True, 1).

    Далее,range(1)это набор целых чисел начиная с нуля и меньше 1. Прикиньте, сколько и каких целых чисел в этом наборе?

    Попробуйте теперь сам ответить на свой вопрос.
    Ответ написан
    Комментировать
  • Нужна помощь в написании функций для чтения, записи файлов?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Ответ короткий: потому, что вы плохо знаете python. Из рук вон плохо. Инструмент сложный, и его надо изучать.
    Ответ длинный:
    1. приведенный код либо неправильно построен в части отступов, либо побился, его надо заново вставить внутрь тегов code.
    2. в коде вы переопределяете некоторые имена, которые являются встроенными функциями Python или методами некоторых встроенных классов, например file, list, add и т.п.
      Так делать не рекомендуется,
      точнее, в вашем случае не рекомендуется
      если вы не делаете это осмысленно, понимая, что вы именно переопределяете и именно встроенную функцию, и понимаете глубокий смысл и последствия. Короче, не делайте так.
      (В данном случае add не ломается, но все равно не надо. Выбирайте имена переменных более уникальные. Хотя бы command_edit, command_list и т.п.
    3. Вы открываете файл, но дальне ничего с ним не делаете. Почему-то в вашем коде предполагается, что текстовый файл при открытии волшебным образом превращается в contacts, который вроде как список словарей или что-то в таком роде (какую-то разновидность JSON?) Но он в коде не превращается ни во что, даже в тыкву. Переменная contacts, которая по-идее должна содержать в себе вышеназванную структуру, не определена в коде.


    Кроме того, вы не читаете документацию, в т.ч. этого ресурса, где задаете вопросы. Формулировать название вопроса надо в соответствии с правилами построения вопросительных предложений, а не пихнуть в конце вопрос, чтобы система отстала.

    Писать за вас тут решение вашей задачи никто не будет; а если таки найдется кто-то, то поверьте, они преднамеренно напишут так, что работать будет, но вы не поймете, и при случае не сможете ни поправить, ни объяснить кому-либо (преподавателю особенно).
    Ответ написан
    Комментировать
  • Как починить import caffe2.python.onnx.backend выдает что нужен onnx.optimizer, как его установить?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Если в проекте находится файл или папка с именем, соответствующим имени импортируемого постороннего модуля, то сначала импортируется то, что под рукой;
    поэтому очень желательно все имена всех модулей, переменных, констант, функций, классов, методов и т.п. в программе продумывать на предмет: "а не перезаписываю ли я этим именем ссылку на существующий и очень важный объект с таким же именем? И если перезаписываю, то правильно ли это, то ли это, что я хочу?"
    Проще всего ко всем создаваемым переменным добавлять в начале "my_" - т.е. не
    list
    , а
    my_list
    , и т.п.
    Ответ написан
    Комментировать
  • Как наложить два списка?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    d1 = [1, 0, 1, 0]
    d2 = ['qwe', 'asd', 'zxc', 'wer']
    print([d2[i] for i, _ in enumerate(d2) if d1[i]])
    Ответ написан
    2 комментария
  • Каким образом можно просматривать подключенные usb накопители в python(Windows 7-10)?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    На мой взгляд, бОльшую часть на себя должна брать ОС через api, в частности в python для этого есть win32api и os.
    Вот по ссылке почитайте, мне кажется это близко к тому, то вам надо.
    Ответ написан
  • Ошибка DeprecationWarning: desired_capabilities has been deprecated, please pass in a Service object в Selenium?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Посмотрите по ссылке. Там явно другой синтаксис для Python.
    Ответ написан
    Комментировать
  • Почему решение идёт не так как нужно?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    У тебя в time и, соответственно, в seconds видимо строка получается, переведи её в int.
    Ответ написан
  • Почему вылетает Kernel error при запуске Jupyter Notebook из Anaconda Navigator (новое окружение)?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    В базовом окружении запустите консоль и там выполните
    conda install pywin32
    После этого пробуйте создавать новое окружение. Может возникнуть запрос от винды, типа "можно такой-то проге внести изменения"? Надо согласиться.
    Ответ написан
    Комментировать
  • Можно ли сделать клон базового окружения в Anaconda Navigator?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Вроде как рекомендуют вот так через консольку делать:
    conda create --name <env_name> --clone base
    Сам не пробовал.
    Ответ написан
    Комментировать
  • Как изменить тон голоса в pyttsx?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    В pyttsx можно только выбрать другой голос. В зависимости от голоса тон будет различным.
    import pyttsx3
    engine = pyttsx3.init()
    voices = engine.getProperty('voices')
    for voice in voices:
        engine.setProperty('voice', voice.id)
        engine.say('Hello.')
    engine.runAndWait()
    engine.stop()


    Вариант
    Попробуйте поместить динамик в емкость с газообразным гелием. Тон должен повыситься.
    Ответ написан
    Комментировать
  • Что такое % в питоне?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    % возвращает остаток от деления. Ты делишь а % 60, получается остаток.
    Ответ написан
    Комментировать
  • Как правильно перекодировать текстовый файл utf-8 в Windows-1251?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Время тянется бесконечно долго

    Это 1251 отображенный как 1252. Т.е. ваша программа, читающая и отображающая текст, полагает, что это 1252 кодировка. Наверно, ей надо где-то подсказать в настройках, что она ошибается.
    Ответ написан
    Комментировать
  • Turtle не отвечает при запуске цикла while, как исправить?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Полагаю, вот тут вы найдете примеры, которые помогут построить вашу игру более удачно, без этих бесконечных циклов.
    Ответ написан
    Комментировать
  • Почему ошибка RuntimeError: main thread is not in main loop в python?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    main thread is not in main loop

    означает, что основной поток отсутствует в основном цикле исполнения. Чтобы устранить ошибку, поместите основной поток в основной цикл.
    Ответ написан
  • Как убрать ненужные мне элементы из list?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    wolverine777 ,
    если уж вам нужны все повторы любых встречающихся последовательностей, то вот вам мой
    велосипедик
    s = "XXXXXXAGCCTGCCAAGCAAACTTCACTGGAGXXXXXXTGTGCGTAGCATGCTAGTAACTGCAXXXXXXTCTGAATCTTTCAGCTGCTTGTXXXXXXTGGGCCTCTCACAAGGCAGAGTGTCTTCATGGGACTTTGATATTTATTTTTGTACAACCTAAGAGGAACAAATCCTTTGACACTGACAAATTGGCTTCCATATTTTATACCTTAATCATCTCCATGTTGAATTCATTGATCAACAGTTTAAGAAAAAAAGATGTAAAAATGCTTTTAGAAAGAGAGGCAAAGTTATGCACAATAACTTCTCATGAAGTCACAGTTTGTTAAAAGTTGCCTTAGTTCACAATAAATAATTATGTATGCTCTATAATTTCAGTGA"
    import re
    viewed = {}
    for i, _ in enumerate(s):
        n = 0
        while n <= (len(s)-i):
            new_string = s[i:i+n]
            n += 1
            if len(new_string) > 1:
                if new_string not in viewed:
                    matches = re.split(new_string, s)
                    counter = len(matches) - 1
                    if counter > 1:
                        viewed.update({new_string: counter})
    print(viewed)

    Результат
    {'AA': 30,
     'AAA': 10,
     'AAAA': 3,
     'AAAAA': 2,
     'AAAAG': 2,
     'AAAG': 4,
     'AAAGA': 2,
     'AAAGT': 2,
     'AAAGTT': 2,
     'AAAT': 4,
     'AAC': 6,
     'AACA': 2,
     'AACT': 3,
     'AACTT': 2,
     'AACTTC': 2,
     'AAG': 9,
     'AAGA': 4,
     'AAGAG': 2,
     'AAGT': 3,
     'AAGTT': 2,
     'AAT': 11,
     'AATA': 3,
     'AATAA': 2,
     'AATC': 3,
     'AATT': 4,
     'AC': 17,
     'ACA': 9,
     'ACAA': 6,
     'ACAAA': 2,
     'ACAAAT': 2,
     'ACAAT': 2,
     'ACAATA': 2,
     'ACAATAA': 2,
     'ACAG': 2,
     'ACAGT': 2,
     'ACAGTT': 2,
     'ACAGTTT': 2,
     'ACC': 2,
     'ACCT': 2,
     'ACT': 6,
     'ACTG': 3,
     'ACTT': 3,
     'ACTTC': 2,
     'AG': 24,
     'AGA': 6,
     'AGAA': 2,
     'AGAAA': 2,
     'AGAG': 3,
     'AGAGG': 2,
     'AGC': 4,
     'AGCA': 2,
     'AGG': 3,
     'AGGC': 2,
     'AGGCA': 2,
     'AGT': 9,
     'AGTG': 2,
     'AGTT': 5,
     'AGTTT': 2,
     'AT': 29,
     'ATA': 7,
     'ATAA': 4,
     'ATAAT': 2,
     'ATAATT': 2,
     'ATAT': 2,
     'ATATT': 2,
     'ATATTT': 2,
     'ATC': 5,
     'ATCA': 2,
     'ATCT': 2,
     'ATG': 9,
     'ATGC': 4,
     'ATGCT': 3,
     'ATGT': 3,
     'ATGTA': 2,
     'ATT': 8,
     'ATTG': 2,
     'ATTT': 4,
     'ATTTT': 2,
     'CA': 29,
     'CAA': 10,
     'CAAA': 4,
     'CAAAT': 2,
     'CAAC': 2,
     'CAAG': 2,
     'CAAT': 2,
     'CAATA': 2,
     'CAATAA': 2,
     'CAC': 6,
     'CACA': 4,
     'CACAA': 3,
     'CACAAT': 2,
     'CACAATA': 2,
     'CACAATAA': 2,
     'CACT': 2,
     'CACTG': 2,
     'CAG': 5,
     'CAGT': 3,
     'CAGTT': 2,
     'CAGTTT': 2,
     'CAT': 7,
     'CATG': 4,
     'CC': 9,
     'CCA': 3,
     'CCAT': 2,
     'CCT': 6,
     'CCTT': 3,
     'CCTTA': 2,
     'CT': 25,
     'CTA': 3,
     'CTC': 4,
     'CTCA': 2,
     'CTCT': 2,
     'CTG': 6,
     'CTGA': 2,
     'CTGC': 3,
     'CTT': 11,
     'CTTA': 2,
     'CTTC': 4,
     'CTTCA': 2,
     'CTTT': 4,
     'CTTTG': 2,
     'CTTTGA': 2,
     'GA': 18,
     'GAA': 6,
     'GAAA': 2,
     'GAAT': 2,
     'GAC': 3,
     'GACA': 2,
     'GAG': 4,
     'GAGG': 2,
     'GAT': 3,
     'GC': 17,
     'GCA': 6,
     'GCAA': 2,
     'GCAAA': 2,
     'GCC': 4,
     'GCCT': 3,
     'GCT': 6,
     'GCTT': 3,
     'GG': 7,
     'GGA': 3,
     'GGC': 4,
     'GGCA': 2,
     'GGG': 2,
     'GT': 18,
     'GTA': 5,
     'GTAA': 2,
     'GTC': 2,
     'GTG': 3,
     'GTT': 7,
     'GTTA': 2,
     'GTTG': 2,
     'GTTT': 2,
     'TA': 24,
     'TAA': 10,
     'TAAA': 3,
     'TAAAA': 2,
     'TAAC': 2,
     'TAACT': 2,
     'TAAG': 2,
     'TAAGA': 2,
     'TAAT': 3,
     'TAATT': 2,
     'TAC': 2,
     'TAG': 4,
     'TAGT': 2,
     'TAT': 8,
     'TATA': 2,
     'TATG': 3,
     'TATGC': 2,
     'TATT': 3,
     'TATTT': 2,
     'TATTTT': 2,
     'TC': 21,
     'TCA': 11,
     'TCAC': 4,
     'TCACA': 3,
     'TCACAA': 2,
     'TCAG': 2,
     'TCAT': 4,
     'TCATG': 2,
     'TCC': 3,
     'TCCA': 2,
     'TCCAT': 2,
     'TCT': 7,
     'TCTC': 3,
     'TCTCA': 2,
     'TCTT': 2,
     'TG': 29,
     'TGA': 8,
     'TGAA': 3,
     'TGAAT': 2,
     'TGAC': 2,
     'TGACA': 2,
     'TGAT': 2,
     'TGC': 9,
     'TGCA': 2,
     'TGCC': 2,
     'TGCT': 4,
     'TGCTT': 2,
     'TGG': 4,
     'TGGG': 2,
     'TGT': 8,
     'TGTA': 3,
     'TGTT': 2,
     'TT': 29,
     'TTA': 9,
     'TTAA': 3,
     'TTAG': 2,
     'TTAT': 4,
     'TTATG': 2,
     'TTC': 8,
     'TTCA': 6,
     'TTCAC': 2,
     'TTCAG': 2,
     'TTCAT': 2,
     'TTG': 9,
     'TTGA': 4,
     'TTGAT': 2,
     'TTGT': 3,
     'TTT': 10,
     'TTTA': 4,
     'TTTAT': 2,
     'TTTC': 2,
     'TTTCA': 2,
     'TTTCAG': 2,
     'TTTG': 4,
     'TTTGA': 2,
     'TTTGT': 2,
     'TTTT': 3,
     'TTTTA': 2,
     'XT': 3,
     'XTG': 2,
     'XX': 12,
     'XXT': 3,
     'XXTG': 2,
     'XXX': 8,
     'XXXT': 3,
     'XXXTG': 2,
     'XXXX': 4,
     'XXXXT': 3,
     'XXXXTG': 2,
     'XXXXX': 4,
     'XXXXXT': 3,
     'XXXXXTG': 2,
     'XXXXXX': 4,
     'XXXXXXT': 3,
     'XXXXXXTG': 2}
    Ответ написан
    3 комментария