Задать вопрос
  • Как изменить значение переданной переменной в функцию?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    x = 0
    x1 = 0
    x2 = 0
    x3 = 0
    def function(a):
          if 10 < 15:  #ЧИСЛА ВЗЯТЫ ДЛЯ ПРИМЕРА
             a = 1
          else:
             a = 2
          return a
    x = function(x)
    x1 = function(x1)
    x2 = function(x2)
    x3 = function(x3)
    Ответ написан
    Комментировать
  • Как конкатенировать дату и имя скриншота?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Не поддерживается символ : в названии файла
    Ответ написан
    1 комментарий
  • Есть ли возможность с помощью библиотеки discord.py на языке Python реализовать идею зачисления баллов за сообщение?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Вроде питон умеет работать с числами, так что прибавлять число можно, возможность есть
    Ответ написан
    1 комментарий
  • Стоит ли идти на курсы от GeekBrains?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    может стоит пройти обучение от geekbrains

    Обучение чему конкретно?

    Тк. на самостоятельное обучение я трачу достаточно много времени: ≈ 45 часов

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

    Думаю, тема уже много раз разжевывалась. Всю информацию по ЯП можно найти в интернете сейчас. Курсы по сути просто предлагают структурированную программу обучения, хотя абсолютно те же самые знания можно найти в сети свободно. Платить деньги "мотивирую" себя учиться - идея так себе, я так понял самостоятельное обучение вполне вам нравится, так что зачем? После выбора какой нибудь понравившейся специализации уже можно и подумать о курсах, хотя тоже сомнительно.

    до сих пор не понял, каким именно разработчиком я хочу стать, поскольку мне нравится сам процесс

    Многие и в 30 лет не понимают чего хотят, пока сам не попробуешь - никогда не поймешь. Лучше понемногу самостоятельно попробовать реализовать что нибудь. Как тот же дискорд бот из поста. Может понравится делать ботов, а может ML зайдет, или Data-Science. Стоит просто руками потыкать посмотреть что из этого больше нравится. Ну и надо понимать, что какие-то вещи больше подойдут для хобби / фриланса, а на полноценной работе нужны будут навыки в другом направлении.

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

    Ну и если все же хочется - я думаю можно взять какой нибудь тестовый урок, они же дают? Демо кабинет какой нибудь есть или что нибудь в этом духе. Программу курса можно глянуть, чтобы понять что там будет. Ну и учитывая то, что мы находимся в интернете, естественно можно найти все курсы в публичном доступе. Может и не 2021/2020 года, но для понимая что там будет - я думаю глянуть можно. А там уже если и захочется - то велком записываться оффициально.

    на данный момент вообще не понимаю как происходит разработка в компаниях

    В городе должны быть конторы, которые берут к себе студентов. До окончания школы не думаю что будет брать кто-то, но на 2-3 курсе уже свободно набирать должны. Курсы не дадут знаний о том, как все работает в компаниях, нужно идти и работать по сути.
    Ответ написан
    1 комментарий
  • Как получить содержимое href если нету class и id?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Вариантов много, через CSS селекторы, xpath, от родительского элемента, по индексу из всех тегов <a>, по строке внутри тега, по аттрибутам

    from bs4 import BeautifulSoup
    from lxml import html
    
    html_code = '''
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
    </head>
    <body>
      <a href="qna.habr.com">qna</a>
      <div id="main">
        <a href="habr.com" target="_blank">example</a>
        <a href="career.habr.com">career</a>
      </div>
      <a href="freelance.habr.com">freelance</a>
    </body>
    </html>
    '''
    
    soup = BeautifulSoup(html_code, 'html.parser')
    tree = html.fromstring(html_code)
    
    # xpath
    element = tree.xpath('/html/body/div/a[1]')[0]
    print(element.get('href'))
    
    # from parent
    element = soup.find('div', id='main').find('a')
    print(element.get('href'))
    
    # index
    element = soup.find_all('a')[1]
    print(element.get('href'))
    
    # string
    element = soup.find('a', string='example')
    print(element.get('href'))
    
    # attrs
    element = soup.find('a', target='_blank')
    print(element.get('href'))
    Ответ написан
  • Как исправить ошибку при компиляции pyinstaller?

    SoreMix
    @SoreMix
    yellow
    Версия 3.3.1 вышла за сто лет до python 3.9
    Ответ написан
    7 комментариев
  • Как сделать так чтобы при обновлении одном столбце изменялись другие в django?

    SoreMix
    @SoreMix
    yellow
    Возможно, конечно, это не совсем правильное решение, но можно было бы переопределить метод save() у модели, добавив расчет за грамм

    class Product(models.Model):
        name = models.CharField(default='', max_length=50, help_text='Название продукта')
        price = models.IntegerField(default=0, help_text='Цена за упаковку')
        grams = models.IntegerField(default=0, help_text='Количество в упаковке (грамм)')
        price_for_gram = models.IntegerField(default=0, help_text='Цена за грамм')
    
        def save(self, *args, **kwargs):
            self.price_for_gram = int(self.price / self.grams)
            super().save(*args, **kwargs)
    Ответ написан
    1 комментарий
  • Я новичок в python, pyowm выдаёт ошибку при запуске кода, что делать?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Файл calendar.ру подальше спрячьте от а.ру

    1. Строчка from pyowm import OWM тянет за собой кучу разных импортов, в результате чего в одном из файлов требуется ипмортировать функцию из модуля calendar.
    2. В первую очередь питон ищет модуль в этой же папке, находит ваш calendar.py, пытается его выполнить, натыкается на строчку from pyowm.owm import OWM в нем и выполняет импорт OWM
    3. См пункт 1

    circular import как он есть
    Ответ написан
    3 комментария
  • Что делать с такой ошибкой No module named 'chardet'?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Что pip list выводит?

    А если так и так
    pip uninstall requests
    pip install requests
    Ответ написан
  • Как сделать отправку сообщений пользователю через pyrogram по нику или номеру телефона?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Как сделать отправку сообщений по нику

    client.send_message('@username', 'text')

    или номеру телефона

    Добавить в контакты, найти контакт, взять юзернейм и отправить. Не тестил
    contact_phone = '39123456789'
    
    app.add_contacts([InputPhoneContact(contact_phone, 'Foo')])
    contacts = app.get_contacts()
    
    for contact in contacts:
        if contact.phone_number == contact_phone:
            app.send_message(contact.username, 'text')
            # либо можно попробовать app.send_message(contact.id, 'text')
    Ответ написан
    Комментировать
  • Где ошибка в коде?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Проблема (выводит все отрицательные числа)


    Так а в чем проблема? На этом выражении ответом и будут только отрицательные числа.

    Если взять A = 0, а x,y = 0, то получается условие 2*0+0 > 0 -> False
    Если взять A = 1, а x,y = 0, то получается условие 2*0+0 > 1 -> False
    Ну и так далее. Все проверки, где A = 0 будут провалены, т.к. левое выражение будет всегда = 0 в начале итерации.

    Ответ не может быть положительным числом.

    Если под ошибкой подразумевается вывод всех чисел - можно просто запоминать последнее/максимальное число и выводить его в конце
    if f == 0:
            last_A = A
    
    # после всех циклов
    print(last_A)
    Ответ написан
    Комментировать
  • Бот не отвечает в чате как исправить?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    if message.new_chat_members:
    Ответ написан
    Комментировать
  • Как фильтровать текст в PyTelegerambotAPI?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Вариантов много, на любой вкус и цвет

    Regex
    import re
    if not re.match(r'^\d+($|\.\d+)$'):


    Замена разделителя и использование isdigit
    if not text.replace('.', '', 1).isdigit():

    Через обработку исключений
    try:
        float(text)
    except ValueError:
        msg = bot.send_message(chat_id, 'Сумма должна быть числом, попробуйте ещё раз')
    Ответ написан
    1 комментарий
  • Как боту определить от кого пришел пользователь?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Если открыть бота по такой ссылке, то к дефолтной кнопке START добавится нагрузка, в которой будет контент из параметра start (или startgroup)
    https://core.telegram.org/bots#deep-linking

    Если использовать такую ссылку: tg://resolve?domain=C8team_bot&start=ml74

    То в итоге в апдейтах уже придет текст ссобщения в виде "/start ml74"

    Ну и там уже записывайте какая нагрузка для какого имени нужна и тд
    Ответ написан
  • Как сделать подсчет даты в python с помощью datetime()?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Ничего не понял, что вы сделать то пытаетесь? При каких вводных вызываются исключения?
    Используйте встроенную функцию timedelta, если вам прибавить надо что-то с переходом на следующий месяц / год. Ну и можно добавит relativedelta

    from datetime import datetime, timedelta
    from dateutil.relativedelta import relativedelta
    
    now = datetime.now()
    # 2021-02-01
    
    print(now + timedelta(days=30))
    # 2021-03-03
    
    print(now + timedelta(days=777))
    # 2023-03-20
    
    print(now + relativedelta(months=3))
    # 2021-05-01
    Ответ написан
    Комментировать
  • Как здесь работает if not?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    command - строка, все проверки условий в if возвращают bool значение.

    По сути, проверка выглядит примерно так:
    if not bool(command):

    bool от пустой строки вернет False, если строка не пустая - True
    not - логический оператор, который возвращает True, если утверждение не True. В общем возвращает противоположное значение

    Ну то есть
    >>> not True
    False
    >>> not False
    True


    Если вводится пустая строка
    if not bool(command):
    , то условие выглядит как
    if not False:
    (потому что bool от пустой строки возвращает False). В свою очередь, not False возвращает True. В итоге конструкция превращается в
    if True:
    и условие выполняется.

    Если строка не пустая, то соответственно будет if not True и затем if False, условие не выполнилось.

    Так что, если строка пустая - цикл пропускает.
    Ответ написан
    Комментировать
  • Как исключить возможность добавления бота в беседу/группу?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Открыть настройки у @BotFather -> Allow groups? -> Turn off
    Ответ написан
    Комментировать
  • Как отправить изображение с подписью в pytelegrambotapi?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Ну как, вызвать функцию для отправки и указать текст

    bot.send_photo(chat_id, 'FILEID', 'TEXT')
    Ответ написан
    3 комментария
  • Проблема с bot.register_next_step_handler, как решить?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Потому что бот не запущен
    Ну и даже если запустить, то непонятно, в какую функцию то он попасть должен? Ни одного декоратора нет
    Ответ написан
    5 комментариев