• Как добавить в список несколько символов под один индекс?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Странный код конечно.

    1. s1 = 's1'.replace('s1', 'а') Вы же понимаете, что тут вы создаете строку "s1", затем "s1" в этой же строке заменяете на "a" и получаете строку "а"?
    2.
    Проблема в том, что в message s и 1 добавляются через запятую
    Они никуда не добавляются, учитывая то, что после добавления одного символа в список, сразу же идет проверка на наличие в списке двух символов. Ну и как мы понимаем, в списке с одним односимвольным элементом в принципе не может взять двухсимвольный элемент, после этого пытаемся вывести первый элемент пустого списка и получаем ошибку
    3. В целом непонятно, чего вы хотите добиться этим кодом. Хотите заменить все "s1" на "a"? Ну сделайте так
    text = input('Input Decode Message: ')
    text = text.replace('s1', 'a')
    Ответ написан
    2 комментария
  • Как добавить в список несколько символов под один индекс?

    @Art005
    Вообще не понимаю что вы написали, но отвечу на вопрос в заголовке
    Список[индекс]+=новый символ
    Я еще не понимаю зачем присваивание переменной s1 делать через присваивание другой строки этой переменной, а потом замену этой строки на другую, не лучше написать s1 = 'a'.
    А ошибка я надеюсь вы понимаете, что выходит из-за того что вы в каждом цикле обнуляете список
    Ответ написан
    1 комментарий
  • Как передать значение из одной функции в другую?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    чушь выше про глобал не слушайте

    register_next_step_handler()
    Может принимать любые аргументы, добавляете нужные вам данные и передаете их

    def entry_login(message):
      user_id = str(message.from_user.id).replace('(', '').replace(')', '').replace(',', '')
      user_login = message.text
      print(user_id)
      print(user_login)
      data = {'user_id': user_id, 'user_login': user_login}
      answer = bot.send_message(message.chat.id, 'Пароль:')
      bot.register_next_step_handler(answer, entry_password, data)
    
    @bot.message_handler(content_types = ['text'])
    def entry_group(message, data):
      # ...
      data['user_password'] = user_password
      answer = bot.send_message(message.chat.id, 'Группа:')
      bot.register_next_step_handler(answer, entry_group, data)

    и тд
    Ответ написан
    2 комментария
  • Какую SQL или noSQL использовать?

    vabka
    @vabka
    Токсичный шарпист
    Вообще не понял, в чём тут сложнось.
    Если у вас предполагается использование только одной пары логин/пароль, то никакую бд и не не надо - хватит файлика и контроля доступа к этому файлику (чтобы не было состояния гонки при редактировании).
    Иначе - любая бд, которая умеет по ключу находить значение, тот же sqlite, например.
    Ответ написан
    Комментировать
  • Как перейти на другую ссылку оставшись авторизованным?

    kshnkvn
    @kshnkvn
    yay ✌️ t.me/kshnkvn
    Делать сессию, а не одиночные запросы.
    import requests
    
    session = requests.Session()
    
    r = session.get('http://site.ru/login/index.php')
    # ...
    r = session.post('http://site.ru/login/index.php', cookies = cookies, data = data)
    Ответ написан
    Комментировать
  • Как сделать автоматический парсер?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    1. Как спарсить не последнюю новость, а любую (например, предпоследнюю)

    Логично, что нужно найти все новости, и выбрать предпоследнюю

    2. И как сделать проверку новых новостей, чтобы программа понимала, что вышла новая новость и сразу парсила её.

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

    Ещё я обнаружил, что при таймере парсится одна и та же новость. То есть программа запущена, новость спарсилась и через указанный интервал времени, даже если на сайте появились новые новости будет парсится эта же новость, пока не перезапущу программу.

    Все правильно, вы один раз получили код страницы, и больше его не обновляли
    html = requests.get("https://www.rbc.ru/short_news")
    Ответ написан
    Комментировать
  • Переменные в PyTelegramBotAPI?

    @TAZAQ
    Например, сделайте хранилку с помощью словаря
    {
      chat_id: {
        num1: None, 
        num2: None
      }
    }


    А дальше рулите ими условиями.
    Ответ написан
    Комментировать