Size: a a a

Python beginners

2021 December 27

M

Madiyar in Python beginners
Тут такая проблемка, задача с литкода - перевод чисел из римской в арабские числа. Вроде прописал все правильно но на цифре «MMCCCXCIX» не правильно считает, никак не могу понять чем дело.

https://pastebin.com/px1Zm3Xj
источник

Do

Descending order in Python beginners
ой сорян там дальше обработка этого дела
источник

M

Madiyar in Python beginners
Там, потом в ифах да короч
источник

Do

Descending order in Python beginners
в любом случае, можно сделать подобие конечного автомата, который набирает из строки валидное число
типа cixx -> c ->100; i -> i|iv|ix
источник

••• in Python beginners
Нужна помощь, собрал python под MacOS, само приложение работает только если зайти в Contents/MacOS и от туда запустить exec, если сам main.app запускать то он не открывается, ошибок никаких нет.
источник

Do

Descending order in Python beginners
а вообще зачем ты меняешь коллекцию, с которой работаешь? arr.remove(arr[i]) зачем?
источник

M

Madiyar in Python beginners
Потому что я меняю две цифры на одну, и поэтому удаляю не нужную, типо такого IX => (1, 10) => 10=9 а единицу удаляю
источник

Do

Descending order in Python beginners
понял
но это все равно плохая техника - модифицировать коллекцию в цикле по ней
источник

R

Replicant in Python beginners
а что в коде?
источник

Do

Descending order in Python beginners
Нашел в дебагере
у тебя условие на 90 не отрабатывает, т.к. ты сравниваешь arr[i]!=arr[-1] (а и там и там x)
источник

К

Кирилл in Python beginners
всем привет! подскажите, работаю с модулем websockets, справа клиент-отправитель шлет данные(время) на сервер websockets, слева клиент получатель данных от сервера, видно расхождение времени. Я так полагаю, что сервер и получатель не успевают обрабатывать данные и они стоят в буфере и очередях, возможно ли какое-то решение, чтобы привести к реалтайму?
источник

ИВ

Илья Власов... in Python beginners
У тебя расхождение в две минуты?
источник

К

Кирилл in Python beginners
уже больше, постепенно увеличивается
источник

ИВ

Илья Власов... in Python beginners
Кидай код
источник

К

Кирилл in Python beginners
источник

К

Кирилл in Python beginners
есть еще два клиента, которые отправляют данные, если надо их скину тоже
источник

ИВ

Илья Власов... in Python beginners
А, то есть ты там нормальный такой заспам устроил? Потому что так на первый взгляд ничего в глаза не бросается. Тут два варианта — либо делай несколько принимающих сокетов, либо отправляй только с одного. Ты понимаешь как асинхронщина работает, кстати? Чем таски от корутин отличаются?
источник

К

Кирилл in Python beginners
спасибо, поверхностные знания, знаю что должны быть прерывания между операциями, типа async.sleep
источник

ИВ

Илья Власов... in Python beginners
Нет, все вообще не так. Короче, у тебя есть бесконечный цикл, где крутятся ТАСКИ. В один момент времени выполняется одна ТАСКА, а переключается выполнение в местах, где ты пишешь await. Вот то, что через await вызывается это корутины. Если у тебя в цикле одна таска, то выполнение асинхронного кода ничем не отличается от синхронного. А смысл асинхронности в том, что некоторые задачи могут выполняться грубо говоря в фоне, пока процессор занимается чем-то другим. Поэтому твои сокеты по факту синхронные. Тебе нужно в луп несколько тасок загнать, чтобы был какой-то эффект
источник

ИВ

Илья Власов... in Python beginners
Короче говоря, попробуй осознать почему этот код
async def foo():
   start = time.time()
   await asyncio.sleep(5)
   print(time.time()-start)

async def bar():
   await foo()
   await foo()

asyncio.run(bar())
выполняется 10 секунд
источник