• Большая куча пробелов при парсинге html таблицы, как избавиться?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    import re
    data = '''ID: 3
        Каталог: Самсон
        Название категории: Бумага белая марок А, В, С
        Родители категории:                     Офис                            /      '''
    
    out = re.sub(' +', ' ', data)
    print(out)
    
    #ID: 3
    # Каталог: Самсон
    # Название категории: Бумага белая марок А, В, С
    # Родители категории: Офис /
    Ответ написан
    1 комментарий
  • Как и когда обучаться программированию школьнику?

    @Akela_wolf
    Extreme Programmer
    Дальше учиться на практике. Берете проект, который хотите сделать, например игру. Начните с чего-нибудь простого, тот же классический арканоид или тетрис. Сразу же возникнет уйма вопросов: а как это? А как тут? А как тогда здесь? И через решение этих проблем будете поднимать свой скилл. Для подобных игр не нужно каких-то сложных библиотек (единственная библиотека, которая необходима - это та, которая позволяет рисовать на экране линии, квадратики и кружки). А потенциал для развития - на полгода минимум. Добавление уровней, режимов, бонусов, таблицы рекордов и т.д. Затем, например, изучение на примере этой игры более серьезной графической библиотеки (тот же OpenGL): псевдотрехмерность, текстурирование, освещение и т.д. В конечном итоге может получиться вполне симпатично выглядящая игра и большое количество опыта в разработке реального проекта.

    Разумеется, вместо игры можно взять любой другой проект, который вам интересен. Хоть программу для расчета рейтинга шахматистов по итогам турнира (это другая тема, тут придется изучать другие вещи) и совершенствовать эту тему, пока чувствуешь что есть еще что-то что можно сделать, но не знаешь как именно. Вот это постижение "как именно" и называется совершенствованием навыков.
    Ответ написан
    Комментировать
  • Можно ли показать кнопку в чате определенному пользователю?

    SoreMix
    @SoreMix
    yellow
    При создании объекта клавиатуры, передать параметр selective=True
    При этом в тексте Сообщения должно быть либо упоминание пользователя через собаку, либо сообщение должно быть ответом на сообщение нужного пользователя

    Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply (has reply_to_message_id), sender of the original message.


    https://core.telegram.org/bots/api#replykeyboardmarkup
    Ответ написан
    3 комментария
  • Как реализовать систему изменения данных в базе данных?

    Vindicar
    @Vindicar
    RTFM!
    Ну во-первых, если ты используешь aiogram, то про многопоточность лучше забыть. Асинхронность с многопоточностью сочетается довольно плохо. Это возможно, но нетривиально, и новичкам лучше не связываться.
    Во-вторых, дай угадаю - задержку в цикле фарминга реализуешь через time.sleep()? Если да, то конечно, цикл асинхронной программы останавливается на это время. Вот почему предусмотрена функция asyncio.sleep(), которая может приостановить выполнение отдельной корутины, не трогая остальных.
    В-третьих, если тебе нужно выполнить корутину и дождаться результата её выполнения - используй оператор await. Если же тебе нужно запланировать выполнение корутины и идти дальше, не дожидаясь её результата (выполнение "как только, так сразу") - лучше использовать asyncio.get_event_loop().create_task().

    Думаю, остальное сможешь додумать сам.
    Ответ написан
    5 комментариев
  • VK api получить id текущей группы?

    @niriter Автор вопроса
    User
    разобрался, id можно получить через groups.getById без указания доп полей, и потом берется [0]['id']
    Ответ написан
    Комментировать
  • Как вытащить данные из метода messages.getHistory?

    Внизу страницы можно выполнить тестовый запрос, вот что он вернул:
    {
        "response": {
            "count": 54,
            "items": [{
                "date": 1599111439,
                "from_id": 183579474,
                "id": 2190425,
                "out": 1,
                "peer_id": 183579474,
                "text": "тест",
                "conversation_message_id": 54,
                "fwd_messages": [],
                "important": false,
                "random_id": 1859802973,
                "attachments": [],
                "is_hidden": false
            }]
        }
    }


    То есть что-то типа
    json['response']['items']['id']
    Ответ написан
  • Что нужно знать о языке C#, чтобы на собеседовании говорить, что знаешь на 10 из 10?

    GavriKos
    @GavriKos
    Ну, нужно пожалуй сделать пару убийц сишарпа.
    Например, создатель языка c++ оценивает свои знания c++ на 7 из 10.
    Ответ написан
    Комментировать
  • Как выбрать рандомного пользователя из беседы ВКонтакте?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    А что у вас не получается-то? Ни разу не трогал VK API, но вот же у них в документации всё про этот метод ваш: https://vk.com/dev/messages.getConversationMembers
    И в результате он пользователей вам вернёт. Выбирайте случайного и пользуйтесь.
    random.choice(users.items)
    Вот и будет вам случайный из них.

    Такое ощущение, что народ просто натыкается в какой-нибудь мурзилке для хацкеров на тривиальный пример кода VK-бота, у этих хацкеров мгновенно загорается над головой лампочка и начинает жечь. Так жжот, что ни документацию читать ни гуглить не хочется, а хочется сразу запрограммировать идею. После двухнедельных мытарств в поисках ответа на ютубе, в инстаграмме и твиттере методом скролла хакерских тредов с котиками кто-то подсказывает юному гению про этот чудесный ресурс, где всем бесплатно всё делают.
    Вот и рождаются такие вопросы "Я ХЗ что-то я вот тут вот написал" (списал) "но не работает, что делатькакбытьпамагите!, чтотасламалося". И ни ошибки, ни сути проблемы, ничего не ясно. Ясно только что автор вопроса скорее всего не вдупляет совершенно НИЧЕГО, и ему придётся рассказывать про арифметику, про то как сложение делать, что такое цифры и какие бывают буквы, чтобы он что-то понял. Ну или чудом угадать что ему, всё таки, надо и написать работающий код, чтоб отстал и ушел.
    Ответ написан
    3 комментария