Задать вопрос
  • Как посмотреть ID старых сообщений на телеграмм канале?

    Никак, надо сохранять в бд и потом производить поиск нужного сообщения уже там. Боты не могут парсить сообщения
    Ответ написан
    Комментировать
  • Как получить id всех участников группы в тг?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    В Telegram Bot API нельзя получить список участников группы, только общее количество getChatMemberCount, список администраторов getChatAdministrators и информацию о конкретном участнике чата по заранее известному id пользователя getChatMember. Именно поэтому вагоны примеров в поисковиках в основном используют библиотеку telethon.
    Ответ написан
    Комментировать
  • Ошибка в синтаксисе?

    @Alex_888
    1) hour=input('Введите число, Нажмите Enter. : ")

    2) else:
    print("errord")

    Работает
    Ответ написан
    Комментировать
  • Как перезаписать новые данные в элемент списка?

    @AVKor
    l = [ "0" , "абрикос" ,"арбуз" , "тарелка" 
    l[3] = "ложка"
    Ответ написан
    Комментировать
  • Как сделать программу на питоне которая запросит ключ?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    1. Научиться писать на питоне.
    2. Написать окошко, которое будет запрашивать ключ и проверять его.
    Ответ написан
    9 комментариев
  • Как создать такой список в цикле?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Всего 4 элемента, for, вложенный в другой for

    l = [0, 98, 196, 294]
    
    for a in l:
        for b in l:
            print(f'x: {a} y: {b}')
    Ответ написан
    2 комментария
  • Как изучить и понять математику для ML девятикласснику?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Есть два варианта:
    1. Объявить себя вундеркиндом, найти свой уникальный путь изучения математики - но мы вам тут не советчики, вы уж сами как-нибудь

    2. С прискорбием начать повторять тот тернистый путь, который проходят выпускники физмата - именно,

    Нормально выучить матанализ, чтобы понимать все эти производные, интегралы, ряды и прочий бедлам - и решать с их помощью физические и геометрические прикладные задачи
    g7ierv6dkziz4mvrmj2i7w-pgyw.png
    Нормально выучить линейную алгебру, чтобы не смотреть на произведение матриц как на новые ворота, а понимать, что это и зачем это. Опять же, решать геометрические задачи и помнить, что все эти нейроны - это просто извращенное название для скалярного произведения многомерных векторов.

    Далее идет дифференциальная геометрия, без понимания которой будет трудно понять методы оптимизации - а именно, почему это градиентный спуск работает и что же он там такое обучает.

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

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

    Итого, для нормального (осознанного) ориентирования в ML нужно иметь знания студента 2 курса любого физмата (даже пединститута городского вам хватит). Если вы хотите аналогичный результат в девятом классе (и главное, быыыыстра!!!!), начинать нужно было в пятом.
    Ответ написан
    Комментировать
  • Создал Python код, но он сразу закрывается, что делать?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    pass - ключевое слово в Python. Его нельзя использовать по собственному назначению
    Ответ написан
    1 комментарий
  • Работа с датами?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Да, это задача на работу с датами.
    Ответ написан
    Комментировать
  • Что еще можно добавить?

    Vindicar
    @Vindicar
    RTFM!
    Мой совет: сделай каждую команду отдельной функцей вида:
    # ': str' - это type hint. На выполнение не влияет, оно в первую очередь для читаемости. Можешь пока пропустить.
    def command_plus(args: str):  # функция получает аргумент как строку, вместо вызова input().
            "Складывает указанные числа."  # doc-string содержит человекочитаемое описание функции
            print("Калькулятор на сложение")
            parts = [int(part) for part in args.split()]  # операции со строками, list comprehensions
            if not parts:  # какие значения в питоне истинные (truey), какие ложные (falsy)?
                    parts.append(int(input("1-е число: ")))
                    parts.append(int(input("2-е число: ")))
            res = sum(parts)
            print(f"Результат: {res}")  # f-строки

    Далее, научись работать со словарями:
    # словарь, содержащий имя команды и её функцию
    commands = {
            'calc +': command_plus,
            # тут будут другие команды
    }

    Тогда рабочий цикл будет примерно таким:
    while True:
            cmd = input('Введите команду: ')  # например, "calc + 2 3 5"
            for cmd_name, cmd_func in commands.items():  # цикл for, операции со словарями
                    if cmd.startswith(cmd_name):  # операции со строками
                            cmd = cmd[len(cmd_name):]  # срезы (slice)
                            try:  # обработка исключений
                                    cmd_func(cmd)
                            except Exception as err:
                                    print(f"Произошла ошибка: {err}")
                            break  # операторы передачи управления
            else:  # Как работает оператор else: совместно с циклами?
                    if cmd == 'exit':
                            print('До свиданья')
                            break # прерываем while
                    else:
                            print(f"Неизвестная команда: {cmd}")

    Будет куда проще читать код и расширять функциональность.
    Ну и почитай по темам, которые я упомянул в комментариях.
    Ответ написан
    Комментировать
  • Как вывести многострочные переменные в одну строку в python?

    Как вариант, без доп. библиотек:
    1. Все буквы определили в массивы 5x7 (сформировали шрифт, другими словами)
    2. Определили буфер, одномерный массив или список, например 10 строк
    3. Определяем координаты буквы H (верхний левый угол - 0,0)
    4. Посимвольно копируем букву из массива в п.1 в буфер
    5. Определяем координаты буквы E (верхний левый угол - 6,0)
    6. Посимвольно копируем...
    7. Повторяем пункты 5-6 для букв L L O...
    8. После того как вывели в буфер все что хотели - выводим буфер на экран или куда угодно

    Здесь большое количество вариаций на тему оптимизации или вывода сразу на экран, но это тема для следующего задания :)
    Ответ написан
    1 комментарий
  • Как тренироваться кодить на Python?

    @Firsov36
    full-stack web developer
    Напишите программу рецептов приготовления пиццы с возможностью Добавления новых записей в самописную файловую базу данных, вывод информации из нее и поиск по одному или нескольким ингредиентам. — пока будете писать код, столько нового узнаете. И не останавливайтесь на задаче, расширьте функционал.

    Опыт растет по мере написания действующих приложений, от малых до великих...
    Ответ написан
    Комментировать
  • Как тренироваться кодить на Python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Просто берите учебник, читайте полностью, попутно экспериментируя с примерами из книги. Обязательно примеры набирать самостоятельно, а не копировать. Обязательно пытаться их изменять, чтобы убедиться, что вы действительно понимаете, как они работают. После прочтения попытайтесь набомбить пет-проект с использованием изученных технологий.

    Если где-то застрянете, перечитывайте соответствующие главы, читайте официальную документацию, ищите ответы в гугле. Ни в коем случае не несите свою проблему другим людям до тех пор, пока не потратили хотя бы пару-тройку дней на поиск решения. Если ответы вам будет давать кто-то другой, программировать вы не научитесь.

    И не используйте IDE на этапе обучения. Применяйте обычный текстовый редактор и консоль. Во-первых, IDE избавляет вас от рутинных операций, но именно рутинные операции позволяют набить руку . Во-вторых, IDE скрывает многие процессы, выполняя их за программиста, но именно они позволяют понять базовые принципы.
    Ответ написан
    Комментировать
  • Как узнать ID пользователя через пересланное сообщение?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Ответ написан
    Комментировать
  • Почему бот отправляет результат действия мне, а не юзеру?

    @twistfire92
    Python backend developer
    Зачем вы сделали вложенную структуру функций? Они все должны быть на верхнем уровне

    @bot.message_handler(commands=['spam'])
    def start_message(message):
        bot.send_message(message.chat.id, 'Пиши что угодно')
    
    @bot.message_handler(content_types=['text'])
    def get_text(message):
        text = message.text
        markup = telebot.types.InlineKeyboardMarkup()
        markup.add(telebot.types.InlineKeyboardButton(text='Десять', callback_data=10))
        markup.add(telebot.types.InlineKeyboardButton(text='Пятьдесят', callback_data=50))
        markup.add(telebot.types.InlineKeyboardButton(text='Сто', callback_data=100))
        bot.send_message(message.chat.id, text="Выбери сколько раз повторить", reply_markup=markup)
    
    @bot.callback_query_handler(func=lambda call: True)
    def query_handler(call):
        bot.answer_callback_query(callback_query_id=call.id, text='11111')
        so = []
        bot.send_message(message.chat.id, f'Пишем {call.data} раз')
        for i in range(int(call.data)):
            so.append(text)
            sos = '\n'.join(so)
        bot.send_message(call.message.chat.id, sos)


    И да, в последней строке обращаться к объекту message напрямую нельзя, через call только
    Ответ написан
  • Как в множествах каждое слово брать за новый обьект?

    @deliro
    a = {x.strip() for x in input().split(",")}
    b = {x.strip() for x in input().split(",")}
    print(b - a)
    Ответ написан
    Комментировать
  • В чем ошибка в работе цикла for?

    @dmshar
    Простите, а вы свой скрипт хоть запускали? Ваш скрипт делает первый запрос (не знаю, очевидно, количество циклов зачем-то), потом запрашивает ввод одного единственного слова - и все. Выводит один раз "НЕТ" , естественно, а затем N раз слово "ДА", где N- вами введенное число минус один. И ничего больше, никаких ожиданий следующего ввода.
    Что вы вообще сделать-то хотели? Если хотели запрашивать ответ в цикле, то вот например так:

    a = int(input())
    s = set()
    for i in range(a):
        b = input()
        if b not in s:
            s.add(b)
            print('НЕТ')
        else:
            print('ДА')
    Ответ написан
    Комментировать
  • Библиотека telebot Python?

    mlt_melt
    @mlt_melt
    Советую использовать pyTelegrambotApi
    Но они путаются, так что использую одну- удали другую
    Ответ написан
    5 комментариев