Alex
в этот код можно впихнуть реализацию валидации схемы
Alex
то есть да, руками
Aragaer
а я вроде пробовал какой-то валидатор жсона
Aragaer
https://github.com/aragaer/pa-core/blob/master/core/config.py - вот. Но у меня там схема была простенькая
Aragaer
точнее как - я этим делом валидировал словарь, который в свою очеред загружался из yaml
Alex
Aragaer
вот его и использовал
M.
{
"hash": "3a998cf656cc95e3ed44a444205eac4c",
"name": "Alex",
"age": "31"
}
hash этого произведения = 2f66c0981fae158f69c9d9287210b23e
Меняю значение "age" = "32", hash = 13419a6a07cb62067ca5f3c08df5c2cb
Возращаю предыдущее значение - 31, hash = 641b257ea50d6e5dda72c983e4f502a0
Вопрос, почему при возращении на 31 hash не равен первоначальному значению 2f66c0981fae158f69c9d9287210b23e
Anonymous
Почему так выводит?
Anonymous
Alex
Alex
как ты считаешь “хеш”?
M.
как ты считаешь “хеш”?
with open('2', 'rb') as f:
f = f.read()
print(hashlib.md5(f).hexdigest())
M.
чего? какого “произведения”?
{
"hash": "3a998cf656cc95e3ed44a444205eac4c",
"name": "Alex",
"age": "31"
}
Alex
Alex
GENERIC_READ имеет значение 0x80000000
GENERIC_WRITE имеет значение 0x40000000
что для unsigned типов имеет целочисленное представление
1073741824
2147483648
для signed
1073741824
-2147483648
соответственно
Ruslan
эм.. при чем тут 2+2 если у нас битовые операции над флагами?
вроде вы правы но
>>> import win32file
>>> hex(win32file.GENERIC_READ | win32file.GENERIC_WRITE)
'-0x40000000'
>>> hex(0x80000000 | 0x40000000)
'0xc0000000'
>>> hex(win32file.GENERIC_READ)
'-0x80000000'
>>> hex(win32file.GENERIC_WRITE)
'0x40000000'
>>>
🤔
Source:
print(hex(0x80000000 | 0x40000000))
Result:
0xc0000000
Alex
Ruslan
Ruslan
Alex
кто сказал отклоняться от документации? например затем, чтобы получить правильные значения констант при преобразовании в сишный signed int.
Alex
видимо это особенность SWIG который использовали для генерации враппера, тут уже хз.
Alex
а может быть вообще код автогенеренный
Ruslan
логично, благодарю за пояснения)
рофлоДуня
Укажите на ошибку
Массив целых чисел отсортировать по возрастанию и определить число соседствующих простых чисел с разными знаками и суммой равной 0. Вывести исходный , отсортированный массив и пары чисел.
import random
a = (random.randint(2, 30) for _ in range(10)) #все числа
list = sorted(a)
print(a)
print(list)
🤔
рофлоДуня
где отрицательные числа?
import random
a = (random.randint(-30, 30) for _ in range(20)) #все числа
list = sorted(a)
print(a)
print(list)
🤔
Source:
import random
a = (random.randint(-30, 30) for _ in range(20))
print(a)
print(sorted(a))
Result:
<generator object <genexpr> at 0x7fe3f063e938>
[-25, -20, -18, -18, -17, -14, -12, -11, -6, -5, 1, 2, 4, 5, 10, 16, 18, 27, 30, 30]
🤔
🤔
ничего что list это built-in?
рофлоДуня
ничего что list это built-in?
import random
a = (random.randint(-30, 30) for _ in range(20)) #все числа
alist = sorted(a)
print(a)
print(alist)
🤔
рофлоДуня
и? что не так?
должно выводить два списка - один отсортированный, другой нет и как определить число соседних простых чисел с разными знаками и суммой равной 0?
🤔
рофлоДуня
koder
> как определить число соседних простых чисел с разными знаками и суммой равной 0?
я не могу понять задачу. Соседних где? В отсортированным массиве?
🤔
рофлоДуня
там бан
koder
а ты опасен
рофлоДуня
koder
ну с разными знаками их максимум 2
koder
потому что в отсортированном массиве только два числа соседние числа могут иметь разыне знаки
рофлоДуня
а ты опасен
не, там просто некоторые немного неадекватны
рофлоДуня
koder
pos = bisect.bisect_left(sorted_arr, 0)
koder
если что-то и есть, то оно в позициях pos & pos + 1
koder
сортируешь массив находишь куда в нем вставили бы 0, проверяешь очевидные проблемы (например pos+1 больше длинны массива, потому что все числа - отрицательные)
Anonymous
Ребята, я новичок в программировании.
С данного сайта https://on55.ru/articles/2
нужно спарсить город потом как я понимаю через if проверять соотвествует ли заданная переменная city ему.
Все что я смог вытащить это:
coords=soup.findAll("td", class_="xl63")
А как дальше?
koder
Evgeniy
Valerii
как получить список всех идентификаторов которые привязаны к даному тегу. tkinter
Mikhail
Если запускаю проект через докер компз + гуникорн + нгинкс, можно через пайчарм как-то заатачится к гуникорну?
Mikhail
Nikita
Пришел рассказать, что питон не нужен?)
Andrey
Ребяты, есть ли здесь пользователи библиотеки https://github.com/kkroening/ffmpeg-python? чёт я не вдупляю, как ей пользоваться. Могу сделать нужное с просто ffmpeg из командной строки, но не могу перевести это на язык ffmpeg-python, а хотелось бы.
Например:
ffmpeg -i 1-ne/full_name.ogg -i 1-ne/chapter_1/chapter_name.ogg -f lavfi -i anullsrc -filter_complex \
"[2]atrim=duration=10[g1];[0][g1][1]concat=n=3:v=0:a=1" out.mp3
Если словами, то я хочу склеить два opus ogg файла, а между ними вставить паузу, затем всё это сохранить в mp3. Проблемы с ffmpeg-python начались на том этапе, чтобы объяснить ему, что я хочу пустой аудио поток anullsrc, он пытается открыть его как файл.
Anonymous
Здравствуйте, подскажите пожалуйста, как запилить боту функцию, что бы отвечал на команды без слеша.
Тоесть в ответ на собеседника "бан" - получил бан.
Anonymous
Связано ли это с АI тегами?
Dmytro
Andrey
Anonymous
Timofey
Есть метод, который возвращает tuple переменного размера, при этом его первые несколько элементов зафиксированны, а остальные - нет. Надо в type hint в возращаемом значении написать что-то более-менее адекватное. На данный момент имею примерно следующее:
from typing import Any
from typing import Iterable
from typing import Optional
# some code ...
def method(some_input: Any) -> Tuple[
Optional[int],
None,
Iterable[Optional[int]],
]:
Но при этом, третий возвращаемый аргумент - это не Iterable, а продолжение этого же Tuple, просто размер этого продолжения не зафиксирован. Как это явно указать?
(И да, раз я тут только что появился, то всем привет!)
Andrey
телебот
думаю, это лучше спросить в тематическом чате: https://t.me/botoid
Anonymous
Andrey
Есть метод, который возвращает tuple переменного размера, при этом его первые несколько элементов зафиксированны, а остальные - нет. Надо в type hint в возращаемом значении написать что-то более-менее адекватное. На данный момент имею примерно следующее:
from typing import Any
from typing import Iterable
from typing import Optional
# some code ...
def method(some_input: Any) -> Tuple[
Optional[int],
None,
Iterable[Optional[int]],
]:
Но при этом, третий возвращаемый аргумент - это не Iterable, а продолжение этого же Tuple, просто размер этого продолжения не зафиксирован. Как это явно указать?
(И да, раз я тут только что появился, то всем привет!)
вообще можно писать Tuple[int, ...], но это будет тапл переменного размера из интов, а у тебя ещё и типы разные
Timofey
Ну, да. В общем, я не знаю, есть ли в typing вообще функционал, чтобы это сделать. А поменять возвращаемую сигнатуру я не могу - привязан к внешней библиотеке.
Andrey
Je
Tishka17
Tishka17
Tishka17
Вообще сомнительный тип
Tishka17
Там точно тупл нужен?
Andrey
Tishka17