• Как передать значение в команду sqlite3?

    @o5a
    Сергей Горностаев, что противоречит? Привязка переменных в принципе не будет работать с именами полей, как в его случае.
  • Почему у меня не работает условие?

    @o5a
    dariuz, call.data это строка.
    Так что когда делаете
    num = call.data.split('_')[1]
    num все так же строка.
    И проверка выглядит соответственно так:
    if 74=='74':
    Естественно они не равны.
  • Как уменьшить картинку без потери качества в питоне?

    @o5a
    aqau123, ко всему уже написанному добавлю, что в приведенном примере вы сначала уменьшили картинку скриптом, а затем сюда запостили снова увеличенную до оригинального размера, логично, что она будет хуже оригинала, т.к. детали от такой двойной операции безвозвратно теряются. На просто уменьшенной же не будет настолько больших артефактов. А насколько я понял, вам и нужно было только уменьшить, без обратного увеличения.
  • Как отключить бота на Pythonanywhere?

    @o5a
    Nika980, т.е. старый бот со своим токеном запускается, но ничего не пишет в консоли? Или не реагирует на команды в самом телеграме?
  • Как отключить бота на Pythonanywhere?

    @o5a
    Nika980, т.е. сгенерировали у бота новый токен и он работает? А старый молчит? Зачем вам тогда старый.
    Вообще в скрипте бота после создания bot = ... можете отобразить информацию по нему
    print(bot.get_me())
    Может не тот токен пытаетесь использовать.
  • Как отключить бота на Pythonanywhere?

    @o5a
    Nika980, я вижу, что свой ключ как минимум на этом сайте в вопросах уже упоминали, так что возможно кто-то под ним мог что-то запустить, потому и ругается на дубль.
  • Как отключить бота на Pythonanywhere?

    @o5a
    Nika980, можно в разделе консолей (Consoles) просто позакрывать открытые (там открытые видны в "Your consoles:"), затем создать новую и там запустить бота.
  • Как проверить что строка на кириллице записана в файл кодировкой utf-8?

    @o5a
    Если к записанному в одной кодировке дописывать в другой кодировке, то получится мешанина. Если такой файл открыть потом в изначальной кодировке, то правильно будет читаться первая часть, но дописанная - "кривая". Если в utf-8 - то наоборот.
    Так что писать нужно в одной кодировке, в ней же потом и открывать.
    Если же речь просто о том, что файл пишется в UTF-8, то при открытии в просмотрщиках можно выбирать, в какой кодировке открыть, в Блокноте в том числе.
  • Как добавить в список новые элементы по заданному алгоритму?

    @o5a
    Чтобы не было проблем, лучше сразу использовать правильные структуры данных под задачи. С какой стати у вас по сути групповые данные идут сплошняком? Явно же напрашивается вложенный список:

    pisok_st =   [ 
             ["become", 
              "становиться"], 
             ["begin" , 
              "начинать"], 
             ["blow" , 
             "дуть"], 
             ["bring" , 
              "приносить"]
            ]

    При такой структуре можно перебирать сами внутренние списки и менять как требуется.

    Возможно также подошло бы использование словаря, учитывая, что тут по факту ключи ("become", "begin" и т.п.) с их значениями. Но это уже надо знать, для какой задачи вообще такие данные сделаны.
  • Как создать такой список в цикле?

    @o5a
    Span4ev, перемножайте ее на индекс, можно так:
    n = 98
    
    for i in range(4):
        for j in range(4):
            print(f'x: {i*n} y: {j*n}')

    аналогичным образом можете складывать в список. Но для списка проще тогда уже list comprehension
    [[[i*n, j*n] for j in range(4)] for i in range(4)]
  • Как создать свой класс function?

    @o5a
    Фемидис Кудес, как уже предложили, больше похоже, что Вам нужен декоратор. А то, что "так как функций много, добавлять каждой один и тот же фрагмент кода в каждую не хочется", так лучше приведите свой код и что хотите реализовать. Так быстрее подскажут правильный способ в рамках языка. Возможно, у Вас и не должно быть этих многих функций при правильной реализации задачи.
  • Как заменить символ в последней строке вывода?

    @o5a
    Для проверки на последний элемент в данном случае правильнее использовать индекс элемента, например через enumerate. Дополнительно оно и избавит от возможной ошибки (если элементы списка могут повторяться)
    for idx, item in enumerate(Accounts):
      print(x,item)
      if idx == Accounts_len:

    И сам вывод надо разделить по условию, а не делать его отдельно. В текущем виде у Вас отрисуется x в любом случае.
  • В чём ошибка объясните?

    @o5a
    Напишите, что делаете, чего ожидаете, и что не получается. В целом код рабочий (должен реагировать на старт и выбор "оплаты").

    Единственное вижу некорректно использование
    if call.data == '/yes':
    Это не сработает на вложенном уровне, т.к. функция колбека для каждого запроса будет вызываться заново, а не идти по вложенным условиям. Соответственно call.data не сможет одновременно быть '/buy', а затем '/yes'

    и аналогично для '/no'
  • Как сделать топ по данным из таблици sqlite3?

    @o5a
    У вас в примере надеюсь опечатка:

    Наверное он в примере просто показал сортировку в пределах группы (поля Country).
  • VALUES(?) как работает в Sqlite3/Python?

    @o5a
    Подстановка значений в запрос через ? работает только для самих значений, но не для названий таблиц и колонок. Их динамически подставить можно только форматированием строки.
    Но если Вам понадобилось динамически подставлять название таблицы в запрос, скорее всего у вас ошибка в дизайне самой структуры БД и ваши разные таблицы на самом деле должны быть одной таблицей с разными полями. Тогда все будет работать как надо и не придется подставлять названия таблиц форматированием.
  • В чём причина в режиме "write" не пишет на запись(пустой файл), но в режиме "append" идёт запись?

    @o5a
    Мало ли что может быть. Возможно в цикле меняются эти work_ua_block, works и поэтому результаты разные.
    Добавьте вывод своих промежуточных результатов, понятнее станет.
    И не гасите полностью ошибку, сделайте ее вывод хотя бы через print, возможно понятнее будет причина неправильной работы:
    except (AttributeError, KeyboardInterrupt) as e:
        print(e)
  • Создать дочернее окно на Pyhton с Tkinder. В чём проблема?

    @o5a
    Отформатируйте код через кнопку </>, напишите подробнее, что не так. Что значит "изображение приблизилось"? Возможно стоит приложить скриншот неправильной работы.
  • Как вывести все, что находится в базе данных (SQLite3) в одну строчку, а не по отдельности Python, Aiogram?

    @o5a
    qwwwwwty, можно и "собрать в цикле", как советовали в изначальном
    text = ""
    for row in rows:
        text = text + "," + f"@{row[0]}"

    Но эффективнее через join
  • Как сделать чтобы исключение (try except) вызывалось каждый раз, когда происходит ошибка?

    @o5a
    zaychonok_kisa, проблема в понимании
    я хочу чтобы при каждом делении выводилось это сообщение

    в вашем примере деление происходит только ОДИН раз, когда присваивается результат a=5/0
    вызов print(a) не вызывает деление, он только выводит результат деления, которое уже было раньше, поэтому при его вызове и не будет никакого исключения деления на ноль.

    В целом не совсем понятно, для его нужна такая постановка задачи, с какой целью при каждом последующем вызове переменной (не деления, а именно переменной) тоже выводить ошибку обработки исключения?

    Если так хочется, можно присваивать саму строку ошибки этой переменной
    try:
        a = 5/0
    except ZeroDivisionError:
        a = "Деление на 0\nИсключение было обработано"
        print(a)


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

    Как себе представляете работу программы с дальнейшим использованием этой кривой переменной?

    Например как вы видите логику работы подобной программы?
    a = 5/0
    b = 1 + a
    print(b)

    Разберитесь, для чего вообще вам такое странное поведение, какую реальную задачу собирались решить.