Anonymous
Я тоже в маи думал
Anonymous
А что думаете насчет РАНХиГС или МИСиС?
Олег
имхо ранхигс звучит так, будто это для них уж совсем не профильная тема, а это влияет на атмосферу и преподавательский состав.
так что стоит смотреть ток с позиции "лишь бы поменьше отнимало времени от других дел"
Anonymous
Сейчас же главное учиться и получать очень уверенную базу, нет? И какие проекты я могу делать сейчас? Мне на ум приходит одна вещь: можно порешать задач с проекта Эйлера или др сайты
Anonymous
Или фриланс. А так хз. Учеба только, или у вас другое видение?
Anonymous
А фриланс сейчас(без знаний) никуда
Anonymous
Никак*
Anonymous
У меня путь ток начинается). Пока как-то ничего не знаю... Новый путь новые достижения)
Anonymous
Здравствуйте кто может помочь разобраться с кодом?
https://pastebin.com/UDrxSFR4
Anonymous
Олег
тут за мат не банят?
надеюсь, что нет — было бы странно банить, но не указывать это в описании чата. но бдительность это важно! у России есть два противника — мат и вышмат
Kyrylo
Kyrylo
там особо не с чем разбираться, код ничего не делает
Kyrylo
какой лист должно, какую переменную читает, и в каком месте?
Artöm
Artöm
А в строке 34 и далее ты возвращаемое значение зачем тогда используешь?
Artöm
А, это не тс
Олег
я?
Олег
а ы ой и вы не тс
Олег
))
Artöm
Человеку базовых знаний питона не хватает, прежде чем ревесты грязными руками посылать
Sergei
login всегда возвращает None
Это не единственная проблема этого кода. Чего стоит попытка "считать" файл итерированием по его имени
Anonymous
Файл не откроется, создав переменную с текстом его имени
Anonymous
Sherlock
У меня есть chat id одного человека и он запустил моего бота и бот должен отправит лично только этому человеку сообщения как это сделать ?
Sherlock
Telebot python
Олег
какая интуиция лежит за тем, что re.match называется re.match а не как-то типа re.match_start
Олег
в строках же есть startswith, endswith — по ним сразу понятно,что они про хвосты и префиксы.
а по рематчу надо это помнить, а из названия не понятно
ZhenyaBaikal
Ребят а реально для винды написать на питоне торгового робота ?
Dmitry
Реально
Anonymous
Anonymous
Если сам с трейдингом очень хорошо знаком
Anton
Коллеги, есть странная задача: нужно питоном перехватывать файлы которые генерит другое приложение (Java), в какую сторону гуглить?
Dmitriy
Anton
Что значит перехватывать?
как мимнимум получать уведомления о появлении файла в директории, как максимум каким-то чудесным образом перенаправлять файл как объект в питоновский объект
Dmitriy
Dmitriy
Anton
Dmitriy
Круто, спасибо
Я думаю под твой запрос inotify более релевантно, чем strace
Anton
Ну по крайней мере направления гуглежа понятен, спасибо огромное! Поизучаю все варианты
Anonymous
Anonymous
и ты ничего не проверяешь
Anonymous
r = sess.post(endpoint, postdata)
Anonymous
if r.url != 'login_page_url': -> Success
Dmitriy
как мимнимум получать уведомления о появлении файла в директории, как максимум каким-то чудесным образом перенаправлять файл как объект в питоновский объект
Вот еще пара страниц, которую нагуглил. Короче в любом случае нужно задавать вопросом, как это сделать в линуксе, а не как это сделать в питоне, потому что это история про то, как перехватывать события ядра. Чтобы заставить файлы одной проги писать прчямо в память для другой вместо диска без задержки, нужно примонтировть tempfs туда куда она пишет файлы + использовать какой-то из вариантов оповещений о событиях в файловой системе.
https://stackoverflow.com/questions/17123108/notify-signal-when-memory-mapped-file-modified
https://stackoverflow.com/questions/27428150/linux-track-all-files-accessed-by-process
https://man7.org/linux/man-pages/man7/fanotify.7.html
Anonymous
а зачем это
Anton
Anonymous
в линуксе еще именованные пайпы есть
Anonymous
https://stackoverflow.com/questions/27400594/python-memory-mapping
Anonymous
ясно зачем
Gleb
Можно вопрос по двум реализация хеш-сета - знаю, что размер не простое число и хеш-функция не идеально подобрана, и ресайза нету, и много других проблем. Вопрос в другом: для первого кода возвращается время выполнения 208 ms, а для второго ~2200 ms - почему, если они практически идентичны?
-------------------------1 реализация-------------------------------
class MyHashSet:
def __init__(self):
self.limit = 10000
self.buckets = [[] for _ in range(self.limit)]
def add(self, key: int) -> None:
if not self.contains(key):
bucket = self.buckets[self._bucket(key)]
bucket.append(key)
def remove(self, key: int) -> None:
bucket = self.buckets[self._bucket(key)]
if self.contains(key):
bucket.remove(key)
def _bucket(self, key):
return key % self.limit
def contains(self, key: int) -> bool:
bucket = self.buckets[self._bucket(key)]
for value in bucket:
if value == key:
return True
return False-----------------------------2 реализация------------------------
class MyHashSet:
def get_bucket(self, key):
return self.data[key%10000]
def __init__(self):
self.data = [[]]*10000
def add(self, key):
arr = self.get_bucket(key)
if key in arr: return
arr.append(key)
def remove(self, key):
arr = self.get_bucket(key)
if key not in arr: return
arr.remove(key)
def contains(self, key):
arr = self.get_bucket(key)
return key in arr
Олег
голосую за внесение отступов между методами в конституцию
Олег
а, о в телеграме можно ресайзить окно с чатом
Олег
а этот код же не выполняется. я не очень шарю,но что значит в этом случае сложность выполнения?
Gleb
Runtime
Gleb
с литкода
Gleb
Gleb
предполагаю, что максимальное на одном из тестов
Anonymous
Можно вопрос по двум реализация хеш-сета - знаю, что размер не простое число и хеш-функция не идеально подобрана, и ресайза нету, и много других проблем. Вопрос в другом: для первого кода возвращается время выполнения 208 ms, а для второго ~2200 ms - почему, если они практически идентичны?
-------------------------1 реализация-------------------------------
class MyHashSet:
def __init__(self):
self.limit = 10000
self.buckets = [[] for _ in range(self.limit)]
def add(self, key: int) -> None:
if not self.contains(key):
bucket = self.buckets[self._bucket(key)]
bucket.append(key)
def remove(self, key: int) -> None:
bucket = self.buckets[self._bucket(key)]
if self.contains(key):
bucket.remove(key)
def _bucket(self, key):
return key % self.limit
def contains(self, key: int) -> bool:
bucket = self.buckets[self._bucket(key)]
for value in bucket:
if value == key:
return True
return False-----------------------------2 реализация------------------------
class MyHashSet:
def get_bucket(self, key):
return self.data[key%10000]
def __init__(self):
self.data = [[]]*10000
def add(self, key):
arr = self.get_bucket(key)
if key in arr: return
arr.append(key)
def remove(self, key):
arr = self.get_bucket(key)
if key not in arr: return
arr.remove(key)
def contains(self, key):
arr = self.get_bucket(key)
return key in arr
Ну само название HashSet подразумевает, что этот класс должен наследоваться от set либо от map (который и есть hash)
Anonymous
у тебя там линейный поиск
Artöm
Не обязан он ни от чего наследоваться
Олег
так вроде рофл в том, что линейный поиск быстрее чем ин на тестах
Gleb
ладно, я нашёл проблему
Anonymous
я вообще не пойму что это за дрисня и зачем она нужна
Олег
Gleb
[[]]*10000 vs [[] for _ in range(10000)]
Gleb
не понятно, почему, но первое очень медленно
Олег
а ы ого
Олег
а какой поиск быстрее — ин или линейный — на тестах?
Anonymous
линейный поиск не может быстрее работать. никак. вообще.
Artöm
На небольшом числе элементов вполне может