17
Например, я написал команду, чтобы боты создали текстовик на пк, и каждый бот дллжен создать
17
Попробую так
17
Я перепутал, один бот на разных пк
Nodaa
1pk = api, 1pk=server == 2pk = 1bot
Anonymous
Зачем нужны аннотации? Ведь они не дают даже никаких предупреждения при интерпритации кода x: int = '1' Если я присвою x :int строковый тип, код всё равно будет работать, тогда для чего нужны аннотации?
bakatrouble
ну и вроде есть анализаторы, которые выругаются есть что-то не так
Nodaa
тесты чекают аннотации
bakatrouble
https://github.com/google/pytype
Roman
Парни, подскажите как через winapi послать действие копирование? Например действие закрыть вполне себе успешно отрабатывает: win32api.SendMessage(pid, win32con.WM_CLOSE, 0, 0) Пробовал WM_COPY, WM_COPYDATA но безрезультатно.
Roman
Копирование чего куда ты ожидаешь?
копирование того что в этом окне выделено в буфер
Andrew
И что выделено в твоём случае?
Roman
открыт блокнот, в блокноте выделен кусок текста
Andrew
И кто является получателем сообщения?
Roman
логично предположить, если WM_CLOSE отрабатывает удачно в этом же окне то и копирование должно тоже. Мб я что не так понял и делаю, поправьте.
Andrew
Текст находится не в окне, а внутри контрола, очевидно. Он и должен получить событие
Andrew
логично предположить, если WM_CLOSE отрабатывает удачно в этом же окне то и копирование должно тоже. Мб я что не так понял и делаю, поправьте.
Не логично. Внутри окна есть иерархия элементов. Каждый из них умеет принимать свой набор сообщений
d
прошу прощения за оффтоп, в бегиннерах молчат
d
сап ребятки, есть программа для заполнения массива элементами, подсчет индекса строки и столбца начинается с 1 m = 10 # количество записей в строке n = 4 # количество строк a = [[(i+1) * (j+1) for j in range(m)] for i in range(n)] # каждому элементу строки присвоить i*j для каждой строки for row in a: # для каждой строки массива print(' '.join([str(elem) for elem in row])) # печатать значение каждого элемента текущей строки результат работы программы: 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 нужна такая же программа, но чтобы подсчет индекса строки и столбца начинался с 2, программа должна вывести такой результат: 2 3 4 5 6 7 8 9 10 11 3 9 12 15 18 21 24 27 30 33 4 12 16 20 24 28 32 36 40 44 5 10 15 20 25 30 35 40 45 50 55 как поменять имеющуюся программу? если изменить строку a = [[(i+1) * (j+1) for j in range(m)] for i in range(n)] на a = [[(i+2) * (j+1) for j in range(m)] for i in range(n)] # каждому элементу строки присвоить i*j для каждой строки подсчет индексов начинается с 2, но строка идет с шагом +2, результат такой: 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 непонятно, как исправлять
Tigran
сап ребятки, есть программа для заполнения массива элементами, подсчет индекса строки и столбца начинается с 1 m = 10 # количество записей в строке n = 4 # количество строк a = [[(i+1) * (j+1) for j in range(m)] for i in range(n)] # каждому элементу строки присвоить i*j для каждой строки for row in a: # для каждой строки массива print(' '.join([str(elem) for elem in row])) # печатать значение каждого элемента текущей строки результат работы программы: 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 нужна такая же программа, но чтобы подсчет индекса строки и столбца начинался с 2, программа должна вывести такой результат: 2 3 4 5 6 7 8 9 10 11 3 9 12 15 18 21 24 27 30 33 4 12 16 20 24 28 32 36 40 44 5 10 15 20 25 30 35 40 45 50 55 как поменять имеющуюся программу? если изменить строку a = [[(i+1) * (j+1) for j in range(m)] for i in range(n)] на a = [[(i+2) * (j+1) for j in range(m)] for i in range(n)] # каждому элементу строки присвоить i*j для каждой строки подсчет индексов начинается с 2, но строка идет с шагом +2, результат такой: 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 непонятно, как исправлять
a = [[(i+2 if i > 0 else 1) * (j+2 if j > 0 else 1) for j in range(m)] for i in range(n)]
d
благодарочка
Anonymous
Как можно ловить обновление/изминение ячеек в гугл таблице?
Игнат
Ребят, подскажите пожалуйста как использовать скрипт в разрыв между клиентом (в локальной сети ) и интернетом HTTP, HTTPS
Tigran
А скиньте не мёртвый чат по ML, плиз
Anonymous
Компы свои
Leon
От обратного: UDP не годится. По TCP ты знаешь о доставке/недоставке пакета
Leon
Либо городить систему отчетности каждого компа о получении пакета по UDP. Есть большие сомнения, что выйдет реализовать это эффективнее
Игнат
Рябят, спасибо большое
Anonymous
Подскажите как сделать чтобы винда не выключалась когда питон работает? Типа как блокнот открытый
Karev
А скиньте не мёртвый чат по ML, плиз
если найдешь/нашел уже, то скинь, пожалуйста
Co(n)stantine👨‍🔬
А скиньте не мёртвый чат по ML, плиз
тут @bigdata_ru вродь еще живо, но не только по ML
Tigran
Нам в Joom, международный мобильный маркетплейс с аудиторией в 100млн юзеров, нужно много junior/middle/senior бэкендеров в разные команды: маркетплейс, логистическая платформа, платежи, платформа для мерчантов, инфраструктура, автоматизация рекламы. Основной бэкенд на Go, есть компоненты на питоне. На собеседованиях спрашиваем архитектуру и алгоритмы, кодим на языке на ваш выбор. Орг. вопросы: офис в р-не м.Аэропорт (Москва), гибкий график, ДМС, ипотека через два года работы, опционный пакет. Вилка: от 270К gross для сениоров, от 200К для миддлов. Вот детальное описание: https://hh.ru/vacancy/25910767, там есть стек, требования и всё вот это вот. Можно писать мне, @y_bokova или сабмиттить на hh :) #работа #офис #Москва #фултайм
Кто-то репортит в h1?
Tigran
Не знаю, а что с этим не так?
Denis
Пинят шо попало
Tishka17
А чё, норм
Tigran
Офигенный сервис, присылает палёнку и не возвращает деньги
Так-то мы возвращаем деньги. Только не присылай опять видео этого чувака с наушниками, плез
Anonymous
Tigran
Ну так зачем допускать подделки? и что с этим видео не так?
Подделки мы стараемся не допускать. Их делают китайцы сами, не по нашему заказу. А отследить ВСЕ подделки на платформе с миллионами товаров очень сложно. С этим видео не так то, что, по сути, один проёб агента поддержки (который просто не знал, что это за бренд такой, и не придумал ничего умнее, чем сморозить ту хуйню, которая в видео) вылилось в это несчастное видео, которое теперь везде гуглится, а десятки миллионов успешных доставок и довольных пользователей не гуглятся нигде.
акионка.
А можно это видео посмотреть?)
Anonymous
Прямо сейчас мучаемся с этим, в том числе я лично)
а почему комметарии в паблике закрыты?
Tigran
а почему комметарии в паблике закрыты?
Подозреваю, что потому что некому их модерировать.
Sergey
чат ведь по питону? Или я ошибаюсь?
Artem
Ребят. Кто нибудь реализовывал бота для игры в города на основе бинарного дерева?
Tishka17
Почему именно бинарное?
Artem
Шоб быстрее искался город
Tishka17
Ээ
Tishka17
Там же только первую букву надо
Tigran
🤦‍♂️
Aragaer
Шоб быстрее искался город
сначала сделай чтобы он вообще искался
Artem
Делал
Artem
Уже
Aragaer
если будет искаться медленно, переделай через бинарное дерево
Tishka17
Уже
И что, тормозит?
Tishka17
Все ещё непонятно почему именно бинарное
Artem
если будет искаться медленно, переделай через бинарное дерево
Прост если сделать на основе простого алгоритма бота, то при большой нагрузке будет топмозить
Tishka17
Измерял?
Artem
Ладно
Aragaer
Прост если сделать на основе простого алгоритма бота, то при большой нагрузке будет топмозить
ты просто сделай бота. Где-то в нем будет функция "найти город". Сначала просто ее сделай. Если будет плохо, то вот именно ее и переделай
Aragaer
бинарное дерево к самому боту никакого отношения не имеет
Aragaer
тут еще вопрос - а что именно ты в дереве искать пытаешься?
Aragaer
может там и дерево-то не нужно
Tigran
ну и плюс к тому вместо бинарного дерева достаточно взять хэш-таблицу массивов
Artem
Город
Tishka17
Насколько простого алгоритма?
if "Москва".startswith(last[-1]) return ' Москва' И так 100000 ифов