Задать вопрос
  • Что делать, если ты можешь сделать только то, что есть в туториале?

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    software engineer
    Изучите базовые вещи.
    Почитайте любой учебник.
    Не лезьте в онлайн игры, сделайте простые вещи оффлайн
    Потом можно снова сделать что-то по туториалу и попробовать немного изменить/добавить от себя, а не делать с нуля что-то другое.
    Ответ написан
    Комментировать
  • Как получить одинаковые слова с переменных?

    @galaxy
    set(a.split(', ')) & set(b.split(', '))
    (только с двойными пробелами могут быть проблемы)
    Ответ написан
    7 комментариев
  • Как правильно сделать разные генераторы рандома?

    GavriKos
    @GavriKos Куратор тега Unity
    Используйте не юнитевый, а шарповый рандом - из пространства System. Он умеет в инстансы с разным сидом
    Ответ написан
    1 комментарий
  • Как решить задачу, используя одну формулу и не успользуя if, else, elif?

    Алгоритм называется «бинарный поиск» – гуглите.

    Причём тут «не используя if» ? Получили ответ «больше» ИЛИ «меньше» — далее надо предпринимать те или иные действия. Можно обойти непосредственно использвание условного оператора, но.. зачем ?
    Ответ написан
    6 комментариев
  • Как организовать список в одну строку в Питоне?

    aRegius
    @aRegius
    Python Enthusiast
    def flatten(items):
    	  for i in items:
    		    if isinstance(i, Iterable):
    			      yield from flatten(i)
    		    else:
    			      yield i
    Ответ написан
    2 комментария
  • Как оптимизировать elif'ы?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Самое банальное, что можно сделать - вынести одинаковые функции за ифы, а именно
    os.rename(file, new_path)

    А вообще -
    suffixes = {'Audio': ['.mp3', '.wav'], 'Photos': ['.jpg', '.png'], etc, etc}
    
    suffix = Path(file).suffix
    
    for folder_name, extensions in suffixes.items():
        if suffix in extensions:
            new_path = f'{folder_track}/{folder_name}/{filename}'
            break
    else:
        new_path = f'{folder_track}/Other/{filename}'
    
    os.rename(file, new_path)
    Ответ написан
    1 комментарий
  • Как сделать окно подписи на канал в telegram?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    Ссылка на канал открывается и всё
    Ответ написан
    1 комментарий
  • Как исправить код для решения задачи?

    Vindicar
    @Vindicar
    RTFM!
    Нужно быть осторожным при переборе индексов списка и его одновременном изменении. Если ты удалил элемент - индексы последующих "съедут" влево, к нулю, и при обычном переборе ты пропустишь элемент сразу за удалённым.
    Хорошее решение - перебирать элементы в обратном порядке, тогда "съедут" индексы уже обработанных элементов.
    for i in range(len(l)-1, -1, -1):
      if l[i] % 2 == 0:
        l[i] = l[i] / 2
      else:
        del l[i]
    Ответ написан
    3 комментария
  • Как складывать несколько одинаковых элементов в списке?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    from collections import defaultdict
    from functools import reduce
    
    a = ["8A", "4R", "2A", "3H",  "7R"]
    
    x = [str(v) + k for k, v in reduce(lambda acc, v: acc.update({v[0]: acc[v[0]] + v[1]}) or acc,
                                       ((i[-1], int(i[:-1])) for i in a),
                                       defaultdict(int)).items()]
    Ответ написан
    Комментировать
  • Почему возникает ошибка "'str' object attribute 'replace' is read-only"?

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

    CityCat4
    @CityCat4
    Дома с переломом ноги
    Блин, во имя Белого Солнца!

    Опять какой-то прости-Господи-умнечег, не желающий гуглом пользоваться (я уже не говорю про здешний поиск). Регистрация домена стоит денег потому что есть некто, кто соберет у тебя нужные для включения в базу данных данные (а DNS, еслиф че - просто огромная распределенная база данных) и передаст их кому-то другому, кто сопровождает свою часть этой базы. Это все работа и она должна быть оплачена.
    Например за домен "******.com " я должен оплатить 10 USD. Кто получит эти 10 USD?

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

    домен получить невозможно. Вообще, от слова совсем. Вы не получаете его, а арендуете. А из этого следует, что передать его по наследству невозможно, потому что он Вам не принадлежит. (но есть маленький лайфхак - как правило регистратору совершенно поуху - жив ты или помер, ему главное, чтобы деньги капали за аренду. Закинь на счет регистратора сумму, равную ста годовым платежам (в примере 10 * 100 = 1000 баксов) и если регистратор, техрегистратор, ICANN или вообще весь тырнет не провалятся за это время в тартарары - аренда будет удерживаться за тобой)
    Кому принадлежат все не занятые доменные имена .com?

    Никому, их не существует
    Кому принадлежат доменные имена до их покупки или регистрации?

    Никому, их не существует.
    Как обьект права доменное имя начинает существовать в тот момент, когда ты берешь его в аренду у регистратора. Если ты не продлеваешь аренду и регистратор прекращает договор - в этот момент доменное имя, как обьект права существовать перестает.
    Кто устанавливает цену на доменные имена?

    Регистратор. Он волен устанавливать абсолютно произвольную цену и никто ему не указ.
    И как создать свою собственную доменную зону?

    В самом общем случае - обратиться в ICANN. Но для этого ессно надо иметь много-много денег, много-много юристов и много-много знания английского делового-переписочного, потому как общаться придется на нем. Как правило, крупные конторы могут позволить себе "корпоративный" TLD типа .google, .xerox и т.д. Обычному человеку - никак (впрочем "для себя и своих друзей" или "для конторы" можно просто поднять свой DNS, на котором настроить свою зону - проблема в том, что никто этим DNS пользоваться не будет, кроме тех, кто будет об этом знать)
    Ответ написан
    4 комментария
  • Как называется алгоритм для раскладывания словаря?

    0xD34F
    @0xD34F
    Никак не называется. Обходите рекурсивно вложенные элементы, ну и всё:

    def nested_to_plain(obj):
      result = {}
    
      for key, val in obj.items():
        if type(val) == dict:
          result.update({ key + '.' + k: v for k, v in nested_to_plain(val).items() })
        else:
          result[key] = val
    
      return result
    Ответ написан
    6 комментариев
  • Как из json достать наибольшее значение и привязанное к нему название?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    import operator
    # import json
    # a = json.loads(...)  если json  в виде строки прилетает
    a = {
       "858585885856985": 8.2,
       "841224131321321": 100.6
    }
    print(max(a.items(), key=operator.itemgetter(1)))
    # ('841224131321321', 100.6)
    Ответ написан
    3 комментария
  • Как смержить "столбцы" двумерного массива?

    0xD34F
    @0xD34F
    list(map(list, zip(*arr)))
    Ответ написан
    Комментировать
  • Сможете проверить правильность моего решения?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    number_of_sausage = number_of_hot_dogs // SAUSAGES
    Явно неправильно. Попробуйте 25 хотдогов оформить, получите 2 пакета с сосисками, но в 2 пакетах всего 20 сосиок. С булками то же самое.
    Вычисление остатка соответственно тоже неверно. При 25 хотдогах вы получите остаток в виде 5 сосисок, хотя даже не добрали до общего количества людей. Если указать количество людей как 1, количество хотдогов тоже 1, то получим в остатке 1 сосику и 1 булку, хотя покупали 10 сосиок и 8 булок

    В первом случае доработайте деление, попробуйте передать такие значения, чтобы суммарное число хотдогов было не круглым числом.
    Во втором деление в принципе не нужно, нужно вычитание количества купленных продуктов из кол-ва затраченных

    Задача легкая, справитесь
    Ответ написан
    4 комментария
  • Как получить из трехмерного массива numpy строки совпадающие с указанной?

    Vindicar
    @Vindicar
    RTFM!
    (a == [2,0,2]).all(axis=2)
    a == [2,0,2] даст тебе трёхмерный массив булевых значений - результат поэлементного сравнения, при этом сравнение будет идти по последнему измерению.
    all(axis=2) сгруппирует этот массив по третьему измерению, при этом группа будет истинной, только если все значения в группе истинны. Т.е. только если в этой строке все значения совпали.
    >>> a = np.array([[[1, 0, 0], [2, 0, 1], [2, 0, 2]], [[0, 0, 0], [2, 0, 3], [0, 0, 0]]])
    >>> a == [2,0,2]
    array([[[False,  True, False],
            [ True,  True, False],
            [ True,  True,  True]],
    
           [[False,  True, False],
            [ True,  True, False],
            [False,  True, False]]])
    >>> (a == [2,0,2]).all(axis=2)
    array([[False, False,  True],
           [False, False, False]])
    Ответ написан
    1 комментарий
  • Как Переместить весь код в 1 строчку?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Бредовое задание:
    name, surname, date_of_birth, username, password = input("введите имя фамилию ... через пробелы").split();print(name,surname,date_of_birth,username,password)
    Ответ написан
    Комментировать
  • Инициализируется ли строка во время ошибки?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Как я понимаю, как происходит «инициализация».

    Где-то создаётся объект, и переменная int_text создается и «привязывается» к этому объекту, как ярлычок к чайному пакетику.

    А объект «пустая строка» тут не создаётся. Ну, точнее, не получается на выходе правой части «уравнения». И ярлычок int_text никуда не привешивается. И, видимо, его тут же сьедает сборщик мусора.
    Ответ написан
    1 комментарий
  • Как сделать из нескольких списоков один?

    @mikeyuriev
    Как-то так можно:
    id, name = map(list, zip([1837769803, 'Tt'], [1837765893, 'Tp'], [1837765803, 'ot'], [1837465803, 'g']))
    print(id, name)


    Функция zip
    Ответ написан
    Комментировать
  • Есть ли отличия в асинхронном и многопоточном коде в контексте Python?

    danila763
    @danila763
    Учу python, sql
    Поржал над комментариямя (без обид), хотя в принципе первый прав, в общем - как мы помним, у современных процессоров несколько ядер, плюс каждое ядро может выполнять несколько задач сразу и вот многопоточность - это когда несколько частей кода выполняются независимо, например два у вас работает программа, можно нажимать кнопки, она будет реагировать, но в отдельном потоке у неё будет идти цикл, который будет что-то считать.

    Асинхронность тоже позволяет выполнять два цикла, но суть её в том, что куски циклов выполняются по очереди, в одном потоке - первый цикл на половину, потом второй на половину, опять первый - с середины до конца, опять второй, тоже с середины до конца, и так по порядку.

    Но если использовать sleep() в Асинхронность, прервется выполнение всей программы, а в многопоточность прервется только тот поток где вызван sleep()

    В свое время минусом многопоточность является процесс гонки, это когда например мы запускаем 2 части кода в разных потоках, но части из 1 потока нужен результат из 2 потока, а тот в свою очередь ещё не получен, и появляется ошибка. Это надо уже решать по своему

    Вообще-то что использовать, зависит от задачи, но асинхронность все таки проще несмотря на некоторые минусы, и занимает меньше ресурсов компьютера, плюс некоторые известные библиотеки, например aiogram, используют именно асинхронность, так что стоит с ней разбираться (хотя и многопоточность тоже полезна)
    Ответ написан
    4 комментария