• Что дешевле: переменные или массив?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Для вашего случая нет разницы. Нужно руководстоваться не соображениями производительности, а соображенями понятности кода. Если код легко воспринимать и легко модифицировать под изменения задачи в ближайшем прогнозируемом будущем, то это правильно написанный код.
    Судя по ашему вопросу, опыта у вас не так много.
    Вопросы прихводительности в таких вещах придут позже. Сейчас сконцентрируйтесь на алгоритмах, и побльше практики. Найдите ментора и отдавайте ему код на ревью. Читайте чужой код других проектов, чтобы набраться опыта и начитанности.
    Ответ написан
    Комментировать
  • Не получается вернуть строку. Как исправить?

    @res2001
    Developer, ex-admin
    1. Лучше бы вы использовали std::string, а не нативные ("сырые") строки.
    2. Нативные строки - это не строки в привычном для С++ смысле (и в смысле интерпретируемых ЯП). У них нет встроенных операций типа конкатенации, выделения подстрок и т.п. Все это реализуется функциями в стиле Си str*
    3. Если вы хотите вернуть сырую строку, то надо:
    3.1. Массив под строку выделять в динамической памяти (или передавать его как параметр в функцию и его заполнять). Сейчас у вас автоматический массив, а он исчезнет, как только отработает оператор return и строка по факту не вернется (хотя вернется указатель, но он будет указывать в место на стеке, в котором уже нет вашей строки).
    3.2. Возвращать char*. Сейчас тип возвращаемого значения в вашей функции char - а это один символ, а не строка.
    4. Размер строки явно будет больше, чем size байт. На сколько больше - нельзя сказать заранее. Поэтому обычно выделяют достаточно большой буфер с запасом, чтоб покрыть все возможные варианты и при добавлении в буфер очередной подстроки контролируют размер буфера - чтоб оставалось место для очередной добавляемого куска и завершающего нулевого символа. Строка может быть равна size только в случае, если все числа в массиве будут состоять из одной десятичной цифры. Да и в этом случае требуется дополнительный байт на нулевой символ. Так что минимальный размер буфера должен быть size+1, реально он должен быть еще больше.
    Ответ написан
    Комментировать
  • Как изменить вывод из PyMySQL?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    1. Отложить ботошлепство.
    2. Найти в интернете любой структурированный материал по изучению python
    3. Изучить его, попутно выполняя приведенные примеры
    4. Вернуться к написанию бота
    Ответ написан
    Комментировать
  • С чего начать изучение ML, AI и т. д. чтобы успеть к сроку?

    @dmshar
    А тему курсовой работы мы должны угадать?
    А что такое "чуть больше" чем азы Python - т.е. до операторов цикла и условных операторов вы уже дошли?
    А учитесь вы на математическом факультете московского университета, или на танцевально-астрономическом факультете мухосранского мелиоративного колледжа?
    А по какому предмету курсовая должна угадать система искусственного интеллекта, которую мы подключим, что-бы понять, чего-же тут хотел сказать интеллект естественный?
    Впрочем изучить ИИ "до 10-ых чисел мая" - это, конечно, лучше и реальнее, чем "профессионал по ИИ за 7 дней".

    Но если вы решили эту информацию засекретить, то вот вам универсальный список:

    https://ru.stackoverflow.com/questions/Книги-и-уче...
    и
    https://www.cyberforum.ru/ai/thread2010374.html
    Ответ написан
    Комментировать
  • Нужно как то убрать пробелы в конце кода. Можно ли это сделать с текущем кодом или написать его по другому?

    @twistfire92
    Python backend developer
    Изучите метод join() у строк. Вам это поможет.
    Ответ написан
    Комментировать
  • Не понимаю данную бесконечность в операторе while?

    @deliro
    Давай по буковкам читать как в детском саду:

    икс равно нулю
    пока икс меньше десяти, печатай икс

    Икс всегда равно нулю, ты это нигде не меняешь, а ноль всегда меньше десяти. Выхода из цикла не планируется, по крайней мере, в пределах нашей вселенной
    Ответ написан
    Комментировать
  • Как циклом Python for пройти несколько (сотен) range?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Тут уже предложили всякие питонистые подходы через itertools. Но если их не знать, то подойдет и просто 2 вложенных цикла. Внешний перебирает интервал, а внутренний проходит его значения.
    Ответ написан
    Комментировать
  • PyCharm, нажимаю запустить выходит ошибка, че он хочет?

    Hivemaster
    @Hivemaster
    Админ, который хочет программировать
    Прошу помочь, я с этим уже два часа вожусь

    Всего два часа. Вы бы ещё через две минуты за помощью прибежали.

    Terminated by other getupdates request; make sure that only one bot instance is running

    Впрочем, двух часов более, чем достаточно, чтобы прочитать текст ошибки.

    P.S. Надо было не только курсив и болд использовать, но и капсом написать текст вопроса.
    Ответ написан
    5 комментариев
  • Как сохранить объект на весь срок жизни приложения?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Безотносительно фреймворков. В любом приложении есть точка входа. Enty point. Или еще ее называет main - функция. Вот добавь туда конструирование объекта объекта и все.
    Ответ написан
    Комментировать
  • Как в sqlite3 добавить запись в таблицу, оставив пустые поля?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Это просто, надо всего лишь выучить SQL на уровне книжки "SQL для чайников" или раздела "Введение" документации любой СУБД, тогда можно узнать о том, что в insert можно указать какие именно поля устанавливать и в каком порядке.

    P.S. А Python тут вообще не при чём.
    Ответ написан
    1 комментарий
  • Как выводить числа на семисегментный дисплей в Microprocesor Simulator 5v32?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    цифра три на левой части дисплея имеет код 9Е и чтобы вывести результат сложения 1 + 2 мне надо 3 как-то преобразовать в 9Е

    Типовое решение этой задачи -- через таблицу преобразования, где индекс -- это то, что нужно отобразить, а содержимое -- это то, что нужно записать в порт для отображения. Для вывода цифр от 0 до 9 и вашего дисплея таблица будет такой:
    0xfa, 0x0a, 0xb6, 0x9e, 0x4e, 0xdc, 0xfc, 0x8a, 0xfe, 0xde
    .
    Ответ написан
    1 комментарий
  • Запись, получение, хранение текстовой информации в Python, как реализовать?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Вам нужно многое понять и изучить прежде чем такая задача станет вам под силу. Судя по постановке вопроса вы очень далеки пока что от понимания основ алгоритмизации и структур данных.
    Конечно можно ставить любое уникальное значение любому объекту. Структура данных, которая это позволяет, называется map, а в питоне её реализует тип dict - это словарь, который ставит в соответствие любой объект любому уникальному другому объекту.
    Я уверен моего объяснения будет не достаточно вам. Почитайте любую книжку по питону с нуля, например, Марк Лутц пишет приемлемые.
    Ещё вам определенно понадобится какая-то БД, например sqlite, или что-то посерьёзнее, например postgres. Базы жанных - это тоже отдельный целый мир, но вам не нужно вних сильно углубляться, однако, одного вопроса, да и вообще вопросов будет недостаточно для нормального понимания.

    Я вам рекомендовал бы обратиться к фрилансерам за таким ботом, либо, если самому интересно, то читайте книжку по питону с нуля и там вам всё будет объяснено, что нужно для простого бота с вашей функциональностью.
    Ответ написан
    1 комментарий
  • ИИ генерирующая звуки по описанию?

    GavriKos
    @GavriKos
    поэтому хочу попросить подсказку

    ну начните с теории нейросетей, персептрон там, распознавание цифр, вот это все. И с математики.
    Где то через год возвращайтесь )
    Ответ написан
    Комментировать
  • За счет чего происходит ускорение программ при наличии модуля ядра linux?

    ValdikSS
    @ValdikSS
    Модуль TUN/TAP, через которые работают все не-ядерные VPN, очень медленный из-за того, что у него есть только интерфейс получения и отправки пакетов по одному пакету за вызов. Большое количество переключений контекста между ядром и пользовательским уровнем очень затратны, что влечёт за собой неэффективное использование процессорного времени.

    Это типичная известная проблема, которую можно решить в течение месяца, но которую не решили в течение двух десятилетий. Достаточно кому-нибудь взяться, внедрить современный (io_uring, например) или какой-то отдельный интерфейс для отправки и получения нескольких пакетов за один вызов, и скорость магически увеличится на порядок-два.

    Оценить ускорение от уменьшения переключений контекста довольно просто, достаточно провести тестирование со значительно увеличенным MTU пакета. Вот какие цифры приводит проект slirp4netns.

    Implementation |  MTU=1500  |  MTU=4000  |  MTU=16384  |  MTU=65520
    ---------------|------------|------------|-------------|------------
    slirp4netns    | 1.07 Gbps  | 2.78 Gbps  |  4.55 Gbps  |  9.21 Gbps
    Ответ написан
    4 комментария
  • Почему робот не выполняет действие?

    @kalapanga
    1) Проверить работоспособность серв - закомментировать весь этот loop, а последними строчками в setup пошевелить всеми сервами (servoOne.write.... и т.п.). Работают - хорошо.
    2) По коду везде расставлен вывод в serial отладочной информации (это хорошо). Так рассказывайте, что выводит-то!
    Ответ написан
    5 комментариев
  • Как запросом проверить входит ли дата из списка в диапазон дат?

    @alexalexes
    Выносите даты в отдельную таблицу:
    Название таблицы: location_event_dates
    id - идентификатор даты;
    location_event_id - идентификатор из таблицы location_event (то, что у вас в вопросе)
    event_date - одна из дат события (в формате даты, а не строки!)
    Тогда будет нормальный поиск:
    select le.id, le.locationid, le.eventid,
              led.event_date
    from location_event le
    join location_event_dates led on led.location_event_id = le.id
    where led.event_date between :begin_date and :end_date
    Ответ написан
    Комментировать
  • Какие данные получает сервер при запросе на него?

    ZERGeich
    @ZERGeich
    Он получает информацию о поведении "пользователя". В связи нетипичным поведением вашего бота-пользователя - система и принимает решение о блокировке.
    Ответ написан
  • Как можно сократить решение задачи?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    sch_2 = 0
    sch_3 = 0
    sch_4 = 0
    sch_5 = 0
    sch_6 = 0
    sch_7 = 0
    sch_8 = 0
    sch_9 = 0
    sch_10 = 0
    sch_11 = 0
    sch_12 = 0


    Вот эту хрень сделай массивом
    Ответ написан
    Комментировать
  • Где ошибка в программе?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Ошибки нет.
    if ost<=sum:
    Условие 678<=678 верно.
    Ответ написан
    Комментировать
  • Почему программа возвращает ошибку unterminated string literal?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Во-первых, PyCharm - это не интерпретатор. Во-вторых, с ним всё в порядке, как и с интерпретатором. Проблема в том, что строковый литерал нельзя разрывать переводом строки.
    Ответ написан
    Комментировать