• Какой алгоритм оптимизации выбрать?

    @dmshar
    Не пойму.
    Вы курс оптимизации изучаете и вам надо сделать такое задание? Тогда вам должны были рассказать о преимуществах и недостатках каждого метода. Примените эти знания, что вам мешает?
    Или вы решили решать эту задачу вообще не имея ни малейшего представления о теме? И пришли сюда, что бы вам не зная ни ваших данных, ни вашей функции ни вашей задачи, ни ресурсов вашего компьютера кто-то по озарению ткнул в какой-нибудь метод. И вы ему поверите? По сути в таком случае вы просто попытаетесь переложить на кого-то ответственность за принимаемое решение?
    Ну вы же должны понимать, что по таким совершенно неинформативным признаком нельзя объективно выбрать "правильный метод".
    А если вдруг ваша функция столь сложна, что каждое значение вычисляется примерно 2 часа (что-то слабо себе это представляю. Вы что, на калькуляторе считаете, или как?) то попробуйте подбирать метод сильно упростив вашу функцию, и попробуйте на этой упрощенной модели проверить несколько методов оптимизации. Это же элементарное и естественное решение любого мало-мальски квалифицированного инженера.
    Ответ написан
    4 комментария
  • IndexError: list index out of range почему так?

    @dmshar
    Ну так вам же ясно написали list index out of range. Вы пробовали это выражение перевести? А понять?
    У вас в файле две записи.
    Вот тут data_csv_read[password_plus] вы наверное думаете, что обращаетесь к полю "пароль" вашей текущей записи? На самом деле вы обращаетесь к второму элементу списка data_csv_read, потому что предварительно написали password_plus = int(2). Т.е. по факту имеем
    data_csv_read[2]
    а таких записей у вас всего две. очевидно надо было писать что-то вроде

    data_csv_read[i][password_plus]

    Но это, конечно, не все проблемы, которые у вас есть.
    Вызывает мягко говоря недоумение вот этот фрагмент:

    for i in range(games_len):
      game_plus = int(0)
      login_plus = int(1)
      password_plus = int(2)
     ..........
      game_plus += 1
      login_plus += 1
      password_plus += 1

    Вас не смущает, что ПРИ КАЖДОЙ ИТЕРАЦИИ вашего цикла вы выполняете действия с одними и теми-же значениями game_plus, login_plus, password_plus и что три последние строчки указанного фрагмента в таком случае просто бессмысленны?

    Но и это еще не все.
    Вас не смущает вот эта последовательность:
    data_csv_read = ""
    data_csv_read.append((game_csv, login_csv, password_csv))

    при том, что строковый объект не имеет метода append?

    Ну и еще пару ляпов, о которых говорить пока даже рано. Может все-таки вы сначала прочитаете какую-нибудь книжечку по Python, попробуете повыполнять упражнения в порядке "от простого к сложного", а не будете пытаться писать код, который вам пока "не по зубам"? Иначе так и будете за каждым вопросом и ошибкой на форум бегать, пока всем не надоест отвечать на детские вопросы.
    Ответ написан
    Комментировать
  • Как сделать нейросеть по изменению изображения?

    @dmshar
    Да, причем таких пар "изначальное"-"измененное" вам для обучения сети надо подать пару тысяч штук.
    Только вот "сделать нейросеть" и "обучить нейросеть" - понятия совершенно различные.
    Ответ написан
  • Возможно ли устроиться программистом с общим образованием?

    @dmshar
    Ответьте себе самостоятельно и честно - каковы ваши преимущества перед теми, кто имеет специальное образование? Конкурентом, который умеет столько-же, сколько и вы? (Кстати , "умеет" и "знает" - это не одно и тоже, знает-то он всегда больше, ибо в универе не только кодировать учили. И "знает" - это то, что можно достать из "загашника" мозга тогда, когда вы выходите за пределы "умеет"). Это и будет самый корректный ответ на ваш вопрос.
    Ответ написан
    Комментировать
  • С какой литературы начать изучение о сети?

    @dmshar
    Одна из самых доступных книг для начинающих, которая мне встречалась:
    https://ru.pdfdrive.com/Компьютерные-сети-нисходящ...
    Ответ написан
  • Как понять блокчейн?

    @dmshar
    Спросили? Ну и отлично. Вот только если вы решили "взяться за весь этот движ" серьезно (впрочем, к чему тут слово "движ" я так и не понял, ну да ладно) то учить надо не по "разным ресурсам", видосикам и сайтикам, на которых один студент, прослушав лекцию с видом знатока излагает то что он понял, а по книжках. Которые хоть понятно кем написаны, и хоть как-то отрецензированы. Вот их и изучайте. И тогда точно поймете и что это такое, и что там "под капотом"
    Начать можно, например, вот отсюда:
    https://www.amazon.com/Blockchain-Dummies-Computer...
    Потом ознакомиться с:
    https://www.amazon.com/Mastering-Blockchain-distri...
    Ну а после этого уже и сами разберетесь куда дальше копать.
    Удачи.
    Ответ написан
    Комментировать
  • Как n-ое количество элементов списка превратить в n-ое количество строк?

    @dmshar
    Ну, например, вот так (я слегка усложнил ваш пример, но и в простейшем случае, когда входные данные в точности такие, как в вопросе код будет работать)

    lt=[['Volvo', 'Xc90', '2017', 'Gray',['A','B','C','D'], '2.0L'], 'YV4102XK8H1144180', 'Copart', 
        '69990071', 'Run And Drive', 'Side', '33554 мили (Actual)', 
        ['Volvo', 'Xc90', '2017', 'Gray', '2.0L'],'07.02.2022']
    def fl_list(l):
        fl=[]
        for sl in l:
            if type(sl)!=list:           
                fl.append(sl)
            else:
                fl=fl+fl_list(sl)
        return fl
    flt=fl_list(lt)
    print(flt)

    Результат:
    ['Volvo', 'Xc90', '2017', 'Gray', 'A', 'B', 'C', 'D', '2.0L', 'YV4102XK8H1144180', 'Copart', '69990071', 'Run And Drive', 'Side', '33554 мили (Actual)', 'Volvo', 'Xc90', '2017', 'Gray', '2.0L', '07.02.2022']
    Ответ написан
  • Где можно узнать о всех виджетах и их методов по PyQt5?

    @dmshar
    Мне вас искренне жаль. Официальная документация вам не подходит ибо слишком сухо.
    Да и описания виджетов там - наверное специально от вас - спрятали
    https://doc.qt.io/qt-5/gallery.html
    Найти самостоятельно книги или источники в интернет - тоже не можете, наверное у вас в городе отключили Гуугл. Помогу:
    https://www.amazon.com/Introduction-Python-Program...
    https://www.pythonguis.com/pyqt5-book/
    https://ru.pdfdrive.com/pyqt-Создание-оконных-прил...
    https://ru.pdfdrive.com/python-3-и-pyqt-5-Разработ...
    https://docplayer.com/26121670-Pyqt-5-dlya-lingvis...
    https://build-system.fman.io/pyqt5-tutorial
    https://www.pythonguis.com/tutorials/pyqt-basic-wi...
    https://habr.com/ru/company/skillfactory/blog/599599/
    https://www.tutorialspoint.com/pyqt/pyqt_basic_wid...
    А самостоятельно поискать и найти 257 реализации игры в крестики-нолики наверное просто не хватает времени. Все приводить не буду, но вот некоторые:
    https://blog.emptyq.net/a?id=00013-be7e3c74-e0b6-4...
    https://www.youtube.com/watch?v=EZGzCQa_PBI
    https://www.geeksforgeeks.org/tic-tac-toe-game-usi...
    https://github.com/pisceswolf96/PyQt5-Tic-Tac-Toe
    Надеюсь, что осилив хоть часть приведенной информации написать игру для вас труда не составит.
    Ответ написан
    Комментировать
  • В чем проблема решения?

    @dmshar
    Может вы не будете считать, что все вокруг обязаны знать, что за задачу вы решаете? Не код, который вы очевидно написали с ошибкой, а саму исходную задачу?
    А поскольку вы этого не делаете, то сообщаю вам, что ваш код падает с указанной ошибкой например в случае, если на его вход будет подано число. Падает он и при попытке ввести строку из одного символа. Похоже вы отладкой своего кода особо не заморачивались. Может и в каких других ситуациях он падает, но коль скоро условие задачи вы засекретили - то дальше придется разбираться самому.
    И, кстати, IDE или нет - тут ни при чем. Он падает в указанных случаях всегда и везде.
    Ответ написан
    Комментировать
  • Как вывести только определенные элементы массива?

    @dmshar
    Читал-читал, но ничего не понял. Причем тут TKINTER, причем тут CSV?? Причем тут простыня кода ?
    Все что удалось понять из дополнения, это то, что вам из списка
    [[('rq', 'rq', 178.0, -8.0), ('ty', 'ty', 189.0, -4.0)], 
    [('rt', 'rt', 190.0, -3.0), ('my', 'my', 170.0, -0.3)], 
    [('js', 'js', 179.0, 0.3), ('a ', 'a ', 156.0, 0.4)], 
    [('ra', 'ra', 156.0, 0.8), ('mm ', 'mm', 180.0, 1.0)]]

    Надо получить список
    [[('rq', 'rq'), ('ty', 'ty')], 
    [('rt', 'rt'), ('my', 'my')], 
    [('js', 'js'), ('a ', 'a ')], 
    [('ra', 'ra'), ('mm ', 'mm')]]


    Если так, то это элементарно:
    it=[[('rq', 'rq', 178.0, -8.0), ('ty', 'ty', 189.0, -4.0)],
        [('rt', 'rt', 190.0, -3.0), ('my', 'my', 170.0, -0.3)],
        [('js', 'js', 179.0, 0.3),  ('a ', 'a ', 156.0, 0.4)],
        [('ra', 'ra', 156.0, 0.8),  ('mm ', 'mm', 180.0, 1.0)]]
    print(it)
    ot=[]
    for el in it:
        ot.append([el[0][0:2],el[1][0:2]])
    print(ot)

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

    @dmshar
    Ну, например, так:
    ts = ['1 ядро: 50 s',
    '2 ядро: 43 s',
    '3 ядро: 55 s']
    for ln in ts:
        print(ln, end="\r")


    Если же вам надо кардинальное решение, с обновлением всей консоли, то вот так:
    (я тут навставлял задержек и смещений, что-бы лучше был виден результат, в реальной программе это конечно надо будет подчистить под ваши конкретные требования)

    import time
    ts = ['1 ядро: 50 s',
    '2 ядро: 43 s',
    '3 ядро: 55 s',
    '4 ядро 88  s']
       
    print(ts[0])
    print(ts[1])
    time.sleep(3)
    print("\033[H\033[J ")
    print(ts[2])
    print(ts[3])
    time.sleep(3)
    print("\033[H\033[J ")
    print(ts[0])
    print(ts[1])


    В Windows работает.
    Ответ написан
    Комментировать
  • Могу ли я увеличить цену в столбце файла CSV через Python?

    @dmshar
    Если ваш вопрос заключен в фразе "Могу ли я увеличить цену в столбце файла CSV через Python?" - то ответ "да".
    Если же на самом деле вас интересует вопрос "но может есть вариант разумнее?" - ответ на него можно будет дать тогда, когда вы ответите на два следующих вопроса:
    1. "Я думал идти циклом по каждой строке этой колонки" - покажите, как именно вы это собрались делать?
    2. "Есть огромный файл CSV." - какой размер файла с вашей точки зрения можно назвать "огромным"?
    Ответ написан
    Комментировать
  • Как узнать процент вхождения словосочетания в строку на python?

    @dmshar
    Если строго следовать тому, что вы написали, то процент вхождения словосочетания
    'создание чат-ботов' в вашу строку равен 0. Поскольку словосочетание - это вхождение всех представленных в качестве образца слов, а слово "чат" или "чат-бот" в заданном предложении отсутствует.
    Если же вас интересует процент вхождения слов из примера в набор слов целевого предложения - то это проще. Правда, если слова будут находиться в одинаковой словоформе.
    ex='создать чат бота'
    ex_set=set(ex.split(' '))
    sent="Добрый день, Требуется создать телеграм бота для размещения объявлений"
    sent_set=set(sent.split(' '))
    print(1-len(sent_set.difference(ex_set))/len(sent_set))

    Результат:
    0.2222222222222222
    А вот если словоформы будут разные, то тут придется попотеть. Приведение слов к одинаковой словоформе - отдельная и весьма нетривиальная задача.
    Ответ написан
    Комментировать
  • У кого есть план обучения на Data Science?

    @dmshar
    А зачем вам? Какой Data Science, если вы не умеете сами ответить на этот вопрос?
    Но если вдруг в вашем городе уже отключили Googlе, то помогу вам. Вот вам планы:
    https://nuancesprog.ru/p/11226/
    https://www.kdnuggets.com/2021/05/guide-become-dat...
    https://www.kdnuggets.com/2021/02/data-science-lea...
    https://www.analyticsvidhya.com/blog/2020/11/14-mu...
    https://tproger.ru/curriculum/data-scientist-curri...
    https://www.kdnuggets.com/2020/05/beginners-learni...
    https://apps.ucu.edu.ua/en/data-science/curriculum...
    https://medium.com/sciforce/a-laymans-guide-to-dat...
    https://dev.by/news/kak-izuchit-data-science
    И интересно, какой ответ вы ожидаете получить на вопрос " КАК вы изучали"? Т.е. вы знаете десяток разных методов и не можете выбрать один из них для себя??

    А вообще-то даже на этом форуме такой вопрос задают минимум раз в неделю. потрудитесь хотя-бы просмотреть их, а уж если там будет что-то непонятным - попросите уточнить или дополнить.
    Ответ написан
    Комментировать
  • Куда пойти в IT немножко зная R?

    @dmshar
    О чем вы говорите? "Создание модели линейной регрессии и последующего прогноза" - ?? Да это студенты на 2-м курсе нынче изучают, а может и на первом. Любой технической специальности. Программирование на R? Тот, кто умеет программировать на любом - подчеркну, любом - языке программирования, осваивает R (именно - программирование, как таковое) за неделю.
    У меня есть к ТС вопрос. Вот представьте, если бы некий специалист в области информационных технологий и DataScience где то в своей работе описал регрессионную модель "продуктивности растительных сообществ" и после этого, считал, что с легкостью может найти работу в области экологии и биологии. Вы бы посмеялись?
    (По секрету скажу, что за свою жизнь я принимал участие в разработке как минимум четырех различных медицинских систем, некоторых - реально - очень больших и сложных. И что, я могу всерьез наедятся заняться медицинской практикой?)
    Почему-же вы считаете, что переход в обратном направлении более легок?
    Вот как-то примерно так.
    Если вы планируете переезд, то надо четко себе уяснить, что это на просторах пост-СССР разница зарплат программиста и эколога ли биолога существенна. Но вот на просторах цивилизованного мира - особой разницы (в среднем) нет. Поэтому на вашем месте я бы не шарахаться по разным специальностям стал, а подтягивать иностранный, скилзы по основной специальности, искал бы для начала стажировки или post -docs места. Шансов на успех явно будет больше.
    Ответ написан
    2 комментария
  • Какая разница между двумя списками?

    @dmshar
    Разницы никакой, кроме того, что круто, на порядок изменяется время выполнения. Сравните:

    import timeit
    measurements = timeit.repeat('for i in [1,2,3,4,5]: pass', number=1000000)
    print(measurements)

    Результаты:
    [0.09542479999998932, 0.07413599999995313, 0.08125240000003942, 0.07413070000001198, 0.08504640000001018]

    и
    import timeit
    measurements = timeit.repeat('for i in [item for item in [1,2,3,4,5]]: pass', number=1000000)
    print(measurements)

    Результаты:
    [0.3339560999999662, 0.4172341999999958, 0.42956249999997453, 0.37294059999999263, 0.3278073999999833]
    Ответ написан
    Комментировать
  • Как в Python Datetime сделать так, чтобы менялся год и месяц?

    @dmshar
    Если вы работаете с Pandas то есть более простое решение.
    Добавляем заданное количество месяцев (в данном случае -6)
    import datetime as dt
    import pandas as pd
    date = dt.date.today() + pd.offsets.DateOffset(months=6)
    print(date)

    Результат:
    2022-07-20 00:00:00

    Добавляем год:
    date = dt.date.today() + pd.offsets.DateOffset(years=1)
    print(date)

    Результат:
    2023-01-20 00:00:00

    Добавляем и то и другое:
    date = dt.date.today() + pd.offsets.DateOffset(years=1,months=3)
    print(date)

    Результат:
    2023-04-20 00:00:00
    Ответ написан
    Комментировать
  • Как вывести время выполнения по оси Y в графике matplotlib?

    @dmshar
    Способов есть много. Ну например:
    import pandas as pd
    import matplotlib.pyplot as plt
    from matplotlib.dates import DateFormatter
    dt=['2022-01-07 Пт', '2022-01-08 Сб', '2022-01-09 Вс', '2022-01-10 Пн', '2022-01-11 Вт', '2022-01-12 Ср', '2022-01-13 Чт', '2022-01-14 Пт', '2022-01-15 Сб', '2022-01-16 Вс', '2022-01-17 Пн']
    ['04:08:42', '02:14:29', '02:11:29', '02:35:51', '02:50:42', '02:34:17', '02:29:04', '03:05:52', '02:43:35', '02:10:27', '04:17:31']
    dur=['04:08:42', '02:14:29', '02:11:29', '02:35:51', '02:50:42', '02:34:17', '02:29:04', '03:05:52', '02:43:35', '02:10:27', '04:17:31']
    df = pd.DataFrame({'Date':dt, 
                       'Dur': dur})
    df['Dur'] = pd.to_timedelta(df['Dur'])
    df['Dur'] = pd.to_datetime(df['Dur'].values.astype('datetime64[D]'))
    
    fig, ax = plt.subplots()
    myFmt = DateFormatter("%H:%M:%S")
    ax.yaxis.set_major_formatter(myFmt)
    
    ax.plot(df['Date'], df['Dur'])


    Результат:
    61e56a22d742e091710866.png

    Или даже без использования Pandas:
    import datetime 
    import matplotlib.pyplot as plt
    from matplotlib.dates import DateFormatter
    dt=['2022-01-07 Пт', '2022-01-08 Сб', '2022-01-09 Вс', '2022-01-10 Пн', '2022-01-11 Вт', '2022-01-12 Ср', '2022-01-13 Чт', '2022-01-14 Пт', '2022-01-15 Сб', '2022-01-16 Вс', '2022-01-17 Пн']
    ['04:08:42', '02:14:29', '02:11:29', '02:35:51', '02:50:42', '02:34:17', '02:29:04', '03:05:52', '02:43:35', '02:10:27', '04:17:31']
    dur=['04:08:42', '02:14:29', '02:11:29', '02:35:51', '02:50:42', '02:34:17', '02:29:04', '03:05:52', '02:43:35', '02:10:27', '04:17:31']
    dlt=[]
    for dr in dur:
        dlt.append(datetime.datetime.strptime(dr,"%H:%M:%S"))
    fig, ax = plt.subplots()
    myFmt = DateFormatter("%H:%M:%S")
    ax.yaxis.set_major_formatter(myFmt)
    ax.plot(dt, dlt)
    Ответ написан
  • Какие материалы подойдут, чтобы изучить основы алгоритмизации и программирования на C++?

    @dmshar
    На вопрос "Основы алгоритмизации и программирования на С++" Google выдает 59 тысяч ответов. А на вопрос "С++ учебник для начинающих" - еще 80 тысяч. Вы просмотрели хотя-бы десяток (не тысяч, а просто 10) из них и поняли - ни одна из этих ссылок не подойдет. Потому что ваши запросы - уникальны! Ну кто-же додумается изучать "поэтапно и от простого сложного". Все идут точно в обратном порядке. При таких ваших запросах - вряд-ли кто на форуме сможет вам помочь, увы.
    Ответ написан
    Комментировать
  • Как определять операции (методы) в UML диаграмме классов?

    @dmshar
    Нет такой "волшебной таблетки". Разработка классов - это творческий, а не механический процесс. А раз так то вам надо и задавать себе вопрос - "какие методы необходимы для того, что-бы объекты моего класса можно было использовать для решения моих задач".
    Кстати, UML - тут немного сбоку. Это только средство для отображения того, что вы решили использовать в своих классах. Да, полезное и удобное средство, особенно когда у вас много и сложные взаимодействия. Но не более того. Основа - это классы и их свойства, методы и взаимодействие.
    Ответ написан