Задать вопрос
Профиль пользователя заблокирован сроком с 1 апреля 2025 г. и навсегда по причине: подозрительная активность
  • Почему не работает поиск уникального числа в списке?

    Vindicar
    @Vindicar
    RTFM!
    Пропускаешь свой список через Collections.Counter, получишь число вхождений каждого элемента.
    Потом ищешь элементы, у которых число вхождений равно 1.

    А если хочешь именно циклом, то можно так:
    def find_uniqs(arr):
        uniqs = set()
        srtd = sorted(arr)  # список идёт по возрастанию
        for i in range(1, len(srtd)-1):
            # если элемент не равен соседям, то он один такой в списке
            if srtd[i-1] != srtd[i] and srtd[i] != srtd[i+1]:
                uniqs.add(srtd[i])
        # обрабатываем края списка, если они есть, т.е. список из >1 элемента
        if len(srtd) > 1:
            if srtd[0] != srtd[1]:
                uniqs.add(srtd[0])
            if srtd[-1] != srtd[-2]:
                uniqs.add(srtd[-1])
        elif srtd: # у нас один элемент в списке?
            uniqs.add(srtd[0]) # ну тогда его и добавляем.
        return uniqs
    Ответ написан
    2 комментария
  • Как правильно сформулировать регулярное выражение для поиска xml тегов с возможными атрибутами?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    <\/?[\w\s'\"=]*>
    Просто перебрать все символы, которые могут встречаться в теге. Но, присоединюсь, это лучше делать специальными библиотеками

    Тот же bs4 прекрасно справится
    soup = BeautifulSoup(xml, 'lxml')
    print([tag.name for tag in soup.find_all()])


    Либо через стандартный xml
    tree = ET.ElementTree(ET.fromstring(xml))
    for elem in tree.iter():
        print(elem.tag)
    Ответ написан
    3 комментария
  • Как сделать программу на питоне которая запросит ключ?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    1. Научиться писать на питоне.
    2. Написать окошко, которое будет запрашивать ключ и проверять его.
    Ответ написан
    9 комментариев
  • Можно ли отдать небольшой промышленный проект PHP на оценку правильности архитектуры?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Претензий к его работе нет, все довольны и счастливы, но делалась в спешке,
    ...
    и теперь хочется проверить его "качественность".

    "Вы или крестик снимите, или трусы оденьте...", это не к вам конкретно, а в целом всем таким заказчикам. Я ведь верно понимаю что заказчик был в курсе что сроки не соответствуют необходимым для данной задачи?

    Вы спокойно можете обратиться к разработчику и спросить какой код у него набросан на коленке и без тестов, а что написано по уму. Сами ведь небось спешку и согласовали? Ну так скорее всего все по принципу - "быстро, качественно, дешево - выбирайте любые 2 опции!". И какой смысл проверять заведомо быстросляпанный продукт?

    Если есть сомнения в качестве наскоро сляпанного продукта - достаточно обратиться к разработчикам, попросить написать что можно улучшить/переписать нормально и сколько это будет стоить. Скорее всего будет быстрее и дешевле какой-либо экспертизы. Тем более что основная задача решена, и можно уже не гнать по срокам.
    Ответ написан
    5 комментариев
  • Как делать фронтенд на DRF?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Никак, Django - это бэкенд.
    Ответ написан
    3 комментария
  • Нужно ли проверять типы в Python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Для Python является идиоматичной обработка исключений вместо проверок допустимости действий.
    Ответ написан
    1 комментарий
  • Нужно ли проверять типы в Python?

    lxstvayne
    @lxstvayne
    Люблю Python
    Конечно, нужно, ведь мы ожидаем конкретные типы задавая параметры для функции. Можно проверять соответствие типам вручную, но есть альтернативный, более удобный и красивый, подход -- использование библиотеки pydantic, которая специализируется на валидации, а именно декоратор validate_arguments. Валидация помогает на ранних и даже на поздних этапах дебажить ошибки в логике вашего кода. Это очень помогает, даже если на проекте один человек.
    Ответ написан
    1 комментарий
  • Как правильно переносить параметры?

    seven5674
    @seven5674
    Старый я уже что бы что-то в себе менять
    pep8 в помощь
    оба способа не правильные, как по мне, хотя первый и не противоречит стандарту но при большом кол-ве параметров не читабельный
    с именованными параметрами мне ближе такой
    def func_name(
        var1=def_val1,
        var2=def_val2,
        varN=def_var3)
    Ответ написан
    Комментировать
  • Каким должен быть модификатор доступа при инициализации свойства?

    Vindicar
    @Vindicar
    RTFM!
    Не, ну а в чем вопрос-то.
    В первом случае ты вообще обходишь сеттер свойства, присваивая значение напрямую приватному полю. Сеттер не вызывается, так как ты не обращаешься к свойству bat_capacity.
    Во втором случае ты присваиваешь значение свойству, тем самым провоцируя срабатывание сеттера, который и валидирует значение.
    61ee67404277a591391562.png
    Ответ написан
    3 комментария
  • Как тут парсить?

    @AVKor
    BS4 не помогает

    Помогает.
    #!/usr/bin/env python
    
    from bs4 import BeautifulSoup
    
    html = """
    <body>
        <div>
            <tr>Содержимое тэга 1</tr>
            <tr>Содержимое тэга 2</tr>
            <tr>Содержимое тэга 3</tr>
            <tr>Содержимое тэга 4</tr>
        </div>
    </body>
    """
    soup = BeautifulSoup(html, 'html.parser')
    res = soup.select('tr')
    for item in res:
        print(f"<div class='cl'>{item.text.strip()}</div>")

    $ ./test.py
    <div class='cl'>Содержимое тэга 1</div>
    <div class='cl'>Содержимое тэга 2</div>
    <div class='cl'>Содержимое тэга 3</div>
    <div class='cl'>Содержимое тэга 4</div>
    Ответ написан
    5 комментариев
  • Как из содержимого строки сделать название переменной?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    Комментировать
  • Недостатки видеоуроков?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Видеоуроки - как книжки "для чайников". Как правило - это много частных примеров, мало теории. Плюс к тому, обычно читать тот же текст получится быстрее, чем смотреть видео, т.к. читать можно по диагонали.
    Видеоуроки подойдут, если:
    • У вас индукционное мышление - 100 примеров лучше чем страница теории.
    • Вы воспринимаете "на слух" лучше, чем читая текст.

    Но рано или поздно наступит момент, когда документация станет родным домом, а видеоуроки будут восприниматься как потеря времени, потому что время==деньги, и час расслабона, смотря видео, станет стоить слишком дорого.
    Но не стоит вообще отказываться от таких форматов. Мой преподаватель по электронике, умнейший человек, говорил: "Не стоит гнушаться книжек 'Для чайников' - в них информация изложена кратко и максимально доступно. И этого минимума может хватить чтобы начать уже что-то делать"
    Ответ написан
    Комментировать
  • Недостатки видеоуроков?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Нужен огромный и продолжительный труд, чтобы написать приличную книжку.
    Чтобы в ней было не 10 страниц, а много хорошего материала, с примерами, с задачами, с изложением. Оформить, вычитать, отредактировать, договориться с издателем, выпустить, получить какую-то отдачу.
    Хорошую книгу ты читаешь долго. Месяц, два, год. Перечитываешь.

    Текст ты читаешь в удобном для себя темпе, легко пересматривая и перечитывая абзацы.
    Остановившись на странице книги, ты можешь просто просмотреть глазом предыдущую страницу и продолжить чтение. С видео так не получается - из головы вылетает все, и надо просматривать как минимум пару минут перед этим, если отлучился на час-два.

    В любой момент можно в тексте что-то найти, что-то подсмотреть в быстром темпе, и даже в бумажном варианте для этого достаточно просто содержания. А в электронном виде оттуда легко копируется текст, команды, код, конфиги.
    Перемотка в видео так не работает. Закладки на видео в виде справочника не работают. Сам себе заметки в виде видео ты не пишешь, не выписываешь, и переписать из книги проще, чем из видео.

    Также видео делать сложнее, чем писать текст. Гораздо дольше. Гораздо дороже.
    Редактирование видео вещь в разы более муторная, поэтому чаще просто переснимают короткие блоки, а это опять таки непросто.
    То есть сделать видео с таким же качеством материала и с такой же плотностью материала - в десятки раз дороже по всем ресурсам - деньги, время, оборудование.
    И при этом никто не будет смотреть месяц видео (160 часов, например). Никто не будет делать поиск внутри видео, закладки на нужные отрывки и использовать видео как справочник.

    Перенести материал из книги перенести в видео - это непомерный труд с одной стороны и совершенно невостребованный с другой стороны.
    А поэтому никто не делал, не делает и не будет делать видео с таким же наполнением материалом, как это можно сделать в тексте.

    Видео - это разок посмотреть на чей-то практический материал, разок посмотреть как это делает кто-то другой.

    А поэтому все видеокурсы, которые существуют - это беглый обзор чего-либо, какой бы длинный курс это ни был, это все равно гораздо более поверхностный материал, чем текст.
    Текст требует от тебя большего вовлечения, чем видеокурс, а обучение - в первую очередь это усилия со стороны ученика.

    Да, конечно есть отдельные моменты, и их много, когда через изображение можно передать мысль или идею быстрее. Но частично это восполняется картинками, а частично - никто не запрещает смотреть видео в дополнение к тексту.
    Да, конечно есть множество видео и видеокурсов, где можно раскрыть какую-то тему быстро, чтобы ухватить основную мысль или суть. Но в программировании нюансы решают все, а нюансы - они в тексте - в документации, в статьях, в книгах и в практике.

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

    P.S. Все вышесказанное касается разработки и администрирования. В "визуальных" профессиях, возможно видео может давать гораздо больше. Например хореография, фехтование, музыка, возможно дизайн. Но там тоже множество книг, которые дают фундаментальную информацию лучше, чем видео.

    P.S. Одним из самых важных минусов видео я считаю то, что ты не можешь получать информацию в комфортном для себя темпе, с возможностью быстро перечитать слово/фразу и обдумать ее. Сам читаю множество лекций, и эта проблема, когда скажешь 2-3 предложения быстрее, чем обычно и половина учеников отваливается с бессмысленным взгядом. Так на живом курсе ты можешь обратить на это внимание и перефразировать, а записанное видео уже не изменишь.
    Ответ написан
    1 комментарий
  • Чему учит Марк Лутц?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Но полистав pdf-файл этой книжки я не смог найти ни одного куска кода, который был бы для меня не понятен. Разве что незнакомые модули.


    Ну не читай.
    Напиши сразу крестики-нолики, в которые можно играть вдвоем по сети.
    Потом напиши морской бой на двоих.
    Потом добавь возможность сохранения игры и загрузки ее. Для двоих.

    Потом попробуй почитать стандартные вопросы на интервью для джуна.
    Ответ написан
    5 комментариев
  • Чему учит Марк Лутц?

    @Spargwy
    20 годиков. Голанг баккенд девелопер
    Но полистав pdf-файл этой книжки я не смог найти ни одного куска кода, который был бы для меня не понятен.

    Нихрена ты не понимаешь - тебе так только кажется.
    Ответ написан
    Комментировать
  • Чему учит Марк Лутц?

    @AVKor
    Я новичок в программировании, и не совсем понимаю необходимости чтения книг.

    Изучение начал с просмотра 4-часового ролика на ютубе, где разъясняется весь синтаксис языка.

    Тогда лучше стать не программистом, а видеоблогером.
    Многие рекомендуют книги, и по Python именно Марка Лутца. Но полистав pdf-файл этой книжки я не смог найти ни одного куска кода, который был бы для меня не понятен.

    Встаёт вопрос: А есть ли смысл читать его?

    Нет. Лучше сразу послать резюме в крупнейшие ИТ-компании мира.
    Ответ написан
    Комментировать
  • Чему учит Марк Лутц?

    @deliro
    и не совсем понимаю необходимости чтения книг.

    Ну тут ты конечно хорошо пошутил:)

    Прочитай Fluent Python, раз Лутц слишком прост. А вообще, в питоне нет чего-то такого, что нужно прям "изучать". Лучше потратить время на дядю Боба с его Чистым кодом и Чистой архитектурой.
    Ответ написан
    4 комментария
  • Логика столкновения kivy python?

    Vindicar
    @Vindicar
    RTFM!
    Ну для начала, зачем удалять и пересоздавать отдельных птиц, если можно просто "телепортировать" их к другому краю экрана?
    Кроме того, если я верно понял, у тебя delete_birds() отработает сразу, не дожидаясь конца анимации, так как метод start() не выполняет анимацию - он только планирует её постепенное выполнение в ходе дальнейшей работы окна. Используй событие on_complete в твоём объекте Animation.
    Подробности, как всегда, в документации.
    Ответ написан
    1 комментарий
  • Как создать службу Windows с помощью Python?

    Vindicar
    @Vindicar
    RTFM!
    Службы в Windows - штука нетривиальная, им нужны дополнительные механизмы управления.
    Если тебе нужно просто завернуть экзешник в службу, NSSM в помощь.
    Ответ написан
    Комментировать
  • Как перечислять переменные в if на Pythone?

    iggor-markin
    @iggor-markin
    Python Developer
    Будет работать в таком случае.

    if "саппорт" in text or "лайк" in text:
    Ответ написан
    1 комментарий