Задать вопрос
  • Имеет ли жизнеспособность идея нового игрового движка на Python?

    GavriKos
    @GavriKos Куратор тега Разработка игр
    Может ли такой игровой движок иметь место быть и иметь популярность у инди разработчиков?

    На первый вопрос - имеет ли место быть. Ну в целом почему нет. Правда "только для 2д" - вот это сразу плохо, но в целом - почему нет. Работать это будет

    А теперь отвечая на второй вопрос. Нет, не будет. Вы в одну каску не сможете его адаптировать постоянно и быстро под современные реалии, которые меняются. Вот и все.

    Приведу очень простой пример. Вы слышали про движок flame? Много на нем игр видели? А там как бы поддержка неслабая.
    А Cocos Creator? И как, насколько он популярен? А там армада китайцев за ним.

    Поэтому нет, самопальные движки никогда не будут популярны. Поэтому и смысла пилить прям универсальность - нет.
    Ответ написан
    3 комментария
  • Как правильно заниматься перебором: a³ + b³ + c³ = d³?

    wataru
    @wataru Куратор тега Математика
    Разработчик на С++, экс-олимпиадник.
    Циклы в питоне - это ужасно медленно, да. Не лучший язык для написания числодробилки.

    Еще, оффтопик, база даных тут совсем не нужна. Достаточно выводить числа на экран или в текстовый файл. так быстрее будет.

    У вас самый наивный перебор в лоб, его можно ускорить. Сначала сгенерируйте все кубы и схраните их в массив. Их будет примерно кубический корень из |MAX_VAL-MIN_VAL| - это достаточно маленькая величина.

    Теперь задача: найти 3 числа в массиве, дающих в сумме число из массива. Это все еще O(n^3), если исползовать 4 индекса. Но можно ускорить решение методом "встреча по середине".
    Вместо A+B+C=D из массива будем искать A+B=C-D. Для этого переберем все пары чисел, подсчитаем их сумму и сохраним в dict() вместе со списком индексами этих чисел (список всех пар, дающих эту сумму). Потом опять переберем все пары, подсчитаем их разность и посмотрим в словаре, а была ли пара с такой же суммой. Если была - вот мы нашли 4 числа, таких что A+B=C-D. извлекаем корни и выдаем это в ответ.
    Это будет уже O(n^2) - заметно быстрее.
    Ответ написан
    8 комментариев
  • Какие нейронки или программы смогут восстанови эл. схему по фото платы?

    xkostuax
    @xkostuax
    Вечный студент
    Что-то мне подсказывает, что схем на такие платы в интернете должно быть навалом. Если даже не на эту именно, то на другие аналоги 100%. Как минимум отрисовать свою в Spring Layout не сложно за пол часа, там то как раз можно и под размеры компонентов сверстать. Ну и последнее - это любой графический редактор, например в Corel Draw отрисовка займет 10 минут от силы. С учётом минимальных знаний и желания сделать самому.
    Ответ написан
    3 комментария
  • Какое ПО может посчитать количество страниц PDF документов в папке?

    Adamos
    @Adamos
    Количество страниц в PDF:
    pdfinfo "file.pdf" | grep Pages | awk '{print $2}'
    Обвязка с find и вывод в csv - элементарно.
    Ни один питон не пострадает.
    Ответ написан
    2 комментария
  • Как можно реализовать фиксирование заброшенной шайбы в ворота?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    1. Геркон - это единицы сантиметров и невысокая скорость срабатывания. Отпадает.
    2. ИК-барьер реагирует на всё, ему что шайба, что клюшка, что нога вратаря, всё едино. Отпадает.
    Ответ написан
    5 комментариев
  • Как исправить ошибку?

    @Everything_is_bad
    Я очень зеленый в программировании, не знаю какой час сижу и разбираю одну ошибку.
    ну почему ты даже доки не пытаетесь для начала почитать? https://docs.python.org/3/library/sqlite3.html#sql...
    Ответ написан
    3 комментария
  • Как исправить ошибку?

    Vindicar
    @Vindicar
    RTFM!
    Объясняю на пальцах:
    UPDATE trial SET trialactive = 0 WHERE trialkey = 'vless:-test'
    - обновить запись, где столбец trialkey равен строке "vless:-test"
    UPDATE trial SET trialactive = 0 WHERE trialkey = vless:-test
    - обновить запись, где столбец trialkey равен столбцу vless:-test, а такого столбца у тебя нет.

    А причина - потому что ты не озаботился как следует посмотреть примеры работы с БД в питоне, и сразу побежал херачить текст запроса с помощью f-строк, хотя каждый первый туториал предупреждает что так делать нельзя, а нужно использовать placeholder'ы.

    Ссылку на https://docs.python.org/3/library/sqlite3.html#sql... тебе выше дали, разобрать её несложно.
    Первый пример кода (который помечен # Never do this -- insecure!) допускает ту же самую ошибку, что и твоё
    cursor.execute(f'UPDATE trial SET trialactive = 0 WHERE trialkey = {results}')
    и другие запросы.
    А второй пример кода показывает, как правильно.
    # This is the qmark style used in a SELECT query:
    params = (1972,)
    cur.execute("SELECT * FROM lang WHERE first_appeared = ?", params)

    Т.е. ставишь знак вопроса там, где нужно вставить значение, а потом вторым параметром передаёшь кортеж вставляемых значений - столько, сколько у тебя знаков вопроса в запросе.
    Ответ написан
    Комментировать
  • Как эту задачу решить по другому?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    Очевидно не перебирать все варианты, а решить систему уравнений:
    import numpy as np
    
    A = np.array([[5, 3], [3, 3]])
    B = np.array([46.2, 31.5])
    
    # Решаем систему уравнений
    x, y = np.linalg.solve(A, B)
    print(round(x, 2), round(y, 2))
    Ответ написан
    Комментировать
  • Как цикл for влияет на формирования списка?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Дело не в цикле for. Функция pair возвращает генератор, а генератор можно обойти только один раз.
    Ответ написан
    Комментировать
  • Почему у кабеля все фазы?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Стандартная трёхфазная система электропитания 380 (400) вольт.
    Между фазами 380 (400) В, между нулём и любой из фаз 220 (230) В.
    Ответ написан
    1 комментарий
  • Как правильно написать код на Python для шифра "Цезарь"?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Заведите строку со алфавитом, по которому идёт шифрование, и тогда вам будет без разницы, какие символы и сколько использовать. Если символа нет в алфавите, то оставляете его как есть. Если символ есть в алфавите, то нахо́дите его позицию, добавляете смещение по модулю длины алфавита, находите новый символ в вычисленной позиции.
    Ответ написан
    Комментировать
  • Почему при проверке Decimal на принадлежность возвращается false?

    @Everything_is_bad
    заново читаем учебник или доки
    1. выясняем что именно делает is
    2. делаем правильно isinstance(a, Decimal)
    Ответ написан
    Комментировать
  • Видит ли опсос уровень сигнала на моём аппарате?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    Видит. Телефон сообщает. И сам оператор слушает, есть ведь еще и обратный сигнал. Регулирует мощность передатчиков, исходя из общей картины. Приказывает абонентским устройствам сменить частоту или базовую станцию (если абонент видит несколько) исходя из собственных соображений и чувства оптимальности. Приказывает абонентскому устройству поднять или снизить мощность передатчика.

    Примерно так: у БС есть 25 клиентов, из них 10 рядом, 10 далеко, а 5 ближе у другой БС, которая не перегружена.
    Тогда логика будет такой:
    - 10 ближайшим приказать перейти на одну (или несколько) общих частот. Снизить на этих частотах выходную мощность. Приказать абонентам понизить мощность своих передатчиков.
    - 10 дальним - приказать перейти на другую (или несколько) частоты, и поднять на них свою мощность. А клиентам так же подрегулировать мощность их передетчиков вверх - до достижения уверенной слышимости на БС.
    - 5 которые у другой БС - велеть переключится на другую БС и одну из ее частот.
    Ответ написан
    10 комментариев
  • Какой алгоритм можно применить при проверки числа на простое ли оно?

    @Mercury13
    Программист на «си с крестами» и не только
    Если нужно проверить а) точно, и б) одно; в) не очень большое число (миллион тоже небольшое) — ничего нет лучше, чем проверка нечётных чисел до корня из n. То есть до 1000.

    Если точно, много и небольшие — то придётся держать список простых чисел, пополняя его, когда попадётся слишком большое число. Список тоже до корня из n. Допустим, если предел — int4 (≈4 млрд), то нужно держать только список до 65535, это пара тысяч чисел.

    Если число совсем небольшое и может быть где-то в списке — ищем его хитрой разновидностью поиска: проверяем 1-е число, 2-е, 4-е и т.д., пока не определим диапазон, где может быть число. И в этом диапазоне ищем двоичным поиском.

    В криптографии востребован неточный поиск — «число, скорее всего, простое». Но об этом не будем, вы не настолько круты. Тут уже основано на том, что держим таблицу небольших простых чисел и делим на них, а затем гоняем неточные тесты.

    PERFECT number — это СОВЕРШЕННОЕ число. Это не то (сумма всех делителей равняется самому числу), и для теста на совершенное число тоже надо проверять до корня из n — если a делится на b, то добавляем и b, и a/b (кроме случаев, когда b=1 и b²=a, разумеется). Если есть простые числа до корня из n — тоже можно разбить на простые множители (один из множителей может быть больше корня из n!) и подключить комбинаторику, чтобы заполучить остальные.
    Ответ написан
    2 комментария
  • Может ли выключатель не полностью проводить электрический ток?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Плохой контакт:
    • Между контактами самого выключателя
    • В колодках, куда подключены провода в выключателе

    В первом варианте - следует заменить выключатель на новый. Во втором - почистить контакты и затянуть. Но лучше заменить полностью. И третий, менее вероятный, но вполне возможный случай: проблемы в самой линии - в этом случае вызывайте электриков из коммунальной службы.
    Ответ написан
    Комментировать
  • Как сделать поиск объектов на скриншоте из игры?

    Vindicar
    @Vindicar
    RTFM!
    Т.е. размер искомого объекта известен заранее, поворотов и прочих искажений нет? Положение отпечатков на скриншоте всегда одинаковое? Вытаскиваешь их со скрина срезами (slice), тривиальная задача в opencv.
    А дальше Template matching в помощь, его тут должно хватить. Template matching составляет для изображения карту похожести. Чем больше значение в карте, тем больше окрестность этого пикселя похожа на заданный образец.
    Так что берешь каждый кусок отпечатка, делаешь template matching с самим собой (чтобы понять, какое значение похожести считать идеальным), потом делаешь template matching с отпечатком. Ищешь в карте похожести максимум. Если этот максимум сравним с идеальным (разница в пределах N%, придётся подбирать), значит, такой кусок на отпечатке есть. Если этот максимум значительно меньше, значит, такого куска на отпечатке нет.
    Скриншоты и мышетыканье в окно - это отдельные модули, за ними в гугл. Хотя поначалу можно просто выводить в консоль номера кусков отпечатка, которые нашлись.

    P.S.: код не проси. Приходи со своим (а не чатгптшным!), тогда будет что обсуждать.
    Ответ написан
    1 комментарий
  • Можно ли через numpy или pandas удалить строки в многомерном массиве, элементы которого содержат два и более разных значений?

    Maksim_64
    @Maksim_64
    Data Analyst
    Можно хоть в numpy, хоть в pandas. Учи что такое булевая маска. И как с ее помощью выбирать подсеты массива.
    array = np.array([
    ['петя', 'ваня', 'ира'],
    ["катя", 'саша', 'ира'],
    ['петя', 'миша', 'ира'],
    ['петя', 'миша','саша'],
    ])
    
    cond1 = np.any((array == 'петя'), axis=1)
    cond2 = np.any((array == 'ира'), axis=1)
    comb = cond1 & cond2
    array[~comb]


    Сейчас перечитал вопрос и смотрю, в оглавлении вопроса ты одно спрашиваешь а в самом вопросе другое.
    удалить строки в многомерном массиве, элементы которого содержат два и более разных значений
    это означит оставить строки только с одинаковыми значениями. изпользуй np.unique()

    unique_per_row = np.array([len(np.unique(row)) for row in array])
    array[unique_per_row == 1]
    Ответ написан
    3 комментария
  • No such file or directory django как исправить?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    А что мешает посмотреть на реальный путь файла и сравнить с текущим путём в консоли?
    6797fe2c30986221244028.png
    Ответ написан
    7 комментариев
  • Что степенями в питоне?

    Со степенями в Питоне всё прекрасно. Просто запись -10**2 эквивалента записи 10**2 * -1, а не (-10)**2. Переменная как раз как бы добавляет эти скобки вокруг значения.
    Ответ написан
    Комментировать