Задать вопрос
  • Как отключить бота на 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)

    Разберитесь, для чего вообще вам такое странное поведение, какую реальную задачу собирались решить.
  • Как создать базу данных sqlite3 для всех серверов на которые есть бот discord.py?

    @o5a
    А зачем отдельная таблица для каждого сервера (гильдии)? Тем более что он итак пишется в поле таблицы (server_id).
  • Нет реакции на callback_qury_handler?

    @o5a
    Samijonek, если сам колбек формируется как
    callback_data="check_" + bill
    то и проверять его соответственно надо как строку, начинающуюся на "check_"
    if callback.data.startswith("check_"):
  • Как сделать, чтобы бот не обращал внимания на пунктуацию?

    @o5a
    Gospodin_Kiroshi, так подумайте сами, нужно текст пользователя преобразовывать, а не свой текст.
    text = 'как съесть яблоко'
    
    @dp.message_handler(content_types=['text'])
    async def get_text_messages(msg: types.Message):
      user_text = str.translate(msg.text, str.maketrans('', '', '.,?:-;/\\'))
      if user_text.lower() == text:
        await msg.reply('Руками')
  • Как сделать, чтобы бот не обращал внимания на пунктуацию?

    @o5a
    Gospodin_Kiroshi, нужно брать текст пользователя, прогонять его через этот str.translate и на выходе как раз получите строку без спецсимволов, которую уже можете 1 в 1 сравнить со своим шаблоном "Как съесть яблоко". Если до сих пор не понятно, приведите свой код, который пытаетесь запустить, покажу где поправить.
  • Как сделать, чтобы бот не обращал внимания на пунктуацию?

    @o5a
    Gospodin_Kiroshi, Вы издеваетесь что ли? Вы хоть предложенный код пробовали запустить? Он как раз из текста и удаляет указанные знаки препинания, чтобы получился 'Как съесть яблоко'. Вот с ним уже и сравнивайте свою строку.