Задать вопрос
  • Graphql и JSON, в чем кардинальное отличие?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Информация приходит именно в том объёме, в котором запрашивается.
    В отличие от REST, ответ на запрос не содержит ненужных данных.
    Ответ написан
  • Как можно изменить/сократить/украсить код?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Почитать про pep8:
    к примеру:
    otherTeams,  enemyTeam и т.д. - так переменные называть не рекомендуется

     За. f-strings уже сказали:

    print('Имя:{0} Команда:{1} Здоровье:{2} Броня:{3} Оружие:{4}({5})'.format(w.name, w.team, w.health,
                               w.armor, w.weapon.name,w.weapon.damage))


    меняется на более удобный вид:
    print(
       f'Имя:{w.name} '
       f'Команда:{w.tem} '
       f'Здоровье:{w.health}'
       f'Броня:{w.armor}'
       f'Оружие:{w.weapon.name}({w.weapon.damage})'
    )


    Эту конструкцию не очень понял:
    if ([False]*self.teamscount[ltlive])==[x.is_alive for x in self.teams[ltlive]])

    Ее можно заменить на что-то вроде
    if not any([x.is_alive for x in self.teams[ltlive]])
    ?
    или у вас массивы слева и справа по размерам могут не совпадать?

    В остальном - вроде норм
    Ответ написан
    1 комментарий
  • Как получить ссылку с элемента?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    import urllib.parse
    
    urllib.parse.unquote('mailto:%31%33%64%72%61%6b%6f%6e%31%39%36%34@%67%6d%61%69%6c.%63%6f%6d')


    'mailto:13drakon1964@gmail.com'
    Ответ написан
    Комментировать
  • Вопрос связанный с replace Python?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    stroka = '[b]ew f  f sd fa sd fasdfasdf[/b]'
    stroka.replace("[b]", "<.b>").replace("[/b]", "<./b>")

    '<.b>ew f f sd fa sd fasdfasdf<./b>'
    Ответ написан
    1 комментарий
  • Как просуммировать элементы строк в питоне?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    >>> sum([x[0] for x in arrays])
    34.33750876274861
    >>> sum([x[1] for x in arrays])
    19.305019168249604
    >>> sum([x[2] for x in arrays])
    32.17848566247153
    >>> sum([x[3] for x in arrays])
    22.424106744929986
    ...

    где arrays - массив с вашими строками
    import json
    data = '''
    [-0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0]
    [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
    [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
    [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
    [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
    [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
    [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
    [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
    [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
    [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 15.626869483055735, 0.0]
    [0.0, 19.305019168249604, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
    [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
    [0.0, 0.0, 0.0, 22.424106744929986, 0.0, 0.0, 0.0, 0.0, 0.0]
    [0.0, 0.0, 0.0, 0.0, 0.0, 24.802126691039216, 0.0, 0.0, 0.0]
    [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 25.41793956879349]
    [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
    [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
    [0.0, 0.0, 32.17848566247153, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
    [34.33750876274861, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
    [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
    [0.0, 0.0, 0.0, 0.0, 38.54533200463435, 0.0, 0.0, 0.0, 0.0]
    [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 40.605066388577725, 0.0, 0.0]
    [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
    [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
    [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
    '''
    arrays = [json.loads(x) for x in data.split('\n') if x]
    Ответ написан
    1 комментарий
  • Могут локальный комп взломать если публиковать в гит пароли от локальной базы и прочее?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Могут. Так как если допускаете публикацию паролей в гит, то и с локальной безопасностью у вас тоже не все хорошо.
    Ответ написан
    Комментировать
  • Почему возникает ошибка миграции django.db.utils.IntegrityError?

    fox_12
    @fox_12 Куратор тега Django
    Расставляю биты, управляю заряженными частицами
    А зачем тут default=None?
    location = CharField(max_length=150, default=None, null=True, blank=True)

    уберите - тут оно не нужно

    миграцию удалить и создать заново
    Ответ написан
    Комментировать
  • Как сгруппировать элементы массива?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    let arr = [
    {city: 'Москва', address: 'адрес 1'},
    {city: 'Москва', address: 'адрес 2'},
    {city: 'Петербург', address: 'адрес 3'},
    {city: 'Москва', address: 'адрес 4'},
    ]
    
    [...new Set(arr.map(item => item.city))].map(function(item) {
       return {city: item, address: arr.filter(itm => itm.city == item).map(itm => itm.address)}
    })

    5ecbeaac82d5f599457873.png
    Ответ написан
    Комментировать
  • Как пользоваться функцией slugify в Django?

    fox_12
    @fox_12 Куратор тега Django
    Расставляю биты, управляю заряженными частицами
    Гляньте в реализацию функции:
    def slugify(value, allow_unicode=False):
        """
        Convert to ASCII if 'allow_unicode' is False. Convert spaces to hyphens.
        Remove characters that aren't alphanumerics, underscores, or hyphens.
        Convert to lowercase. Also strip leading and trailing whitespace.
        """

    Функция slugify - сконвертировать в ASCII если allow_unicode False, преобразовать пробелы в дефисы, удалить символы которые не являются буквенно-цифровыми, подчеркиваниями или дефисами, конвертировать в нижний регистр и удалить пробелы в начале и конце

    Транслитерация кириллицы в эту функцию не входит

    По умолчанию там для строки выполняются такие шаги:
    In [1]: unicodedata.normalize('NFKD', 'привет world')                                                                                                                                          
    Out[1]: 'привет world'
    
    In [2]: 'привет world'.encode('ascii', 'ignore').decode('ascii')                                                                                                                               
    Out[2]: ' world'

    Вот собственно .encode('ascii', 'ignore') отбрасывает символы кириллицы, так как они не являются ascii-символами
    Как вариант:
    In [3]: my_string = 'привет world'.translate(
      str.maketrans(
        "абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ",
        "abvgdeejzijklmnoprstufhzcss_y_euaABVGDEEJZIJKLMNOPRSTUFHZCSS_
        ...: Y_EUA"
    ))                                                                                                                                                                               
    
    In [4]: slugify(my_string)                                                                                                                                                                     
    Out[4]: 'privet-world'
    Ответ написан
    Комментировать
  • Как будет выглядеть этот код на Python?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Примерно как-то так. В работе не проверял
    imya = input('vedite imya faila')
    n = input('vvedite N')
    k = input('vvedite K')
    str1 = '*' * int(k)
    with open(imya, 'w+') as out_file:
        for i in range(int(n)):
            out_file.write(str1 + '\n')
    Ответ написан
  • Как отфильтровать вещественные числа из строки на python?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Регулярками как вариант:

    import re
    data = ['erwer', 'dd', '44j', '5.09', '33', 'dfgdfs', '99.100', '5645..99', '.434', '42342.']
    [x for x in data if re.match('^\d+(\.\d){0,1}\d*$', x)]


    ['5.09', '33', '99.100']

    Либо простейшей процедурой:
    def is_float(value):
        try:
           float(value)
        except ValueError:
           return False
        return True


    >>> is_float('65456')
    True
    >>> is_float('65456.00')
    True
    >>> is_float('65456.00gfghf')
    False
    Ответ написан
  • Эффективность решения алгоритмических задач?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Поможет. Решая задачи, закапываешься глубже в реализации языка. Пытаешься найти решение с помощью более эффективных конструкций языка или стандартных библиотек или более эффективными структурами данных в попытке оптимизировать решение. Часто эти умения помогают в решении практических задач, если конечно вы не написанием однотипных одностраничников занимаетесь.

    Другое дело - работодателю лучше показать какой-то реально работающий проект решающий практические задачи, чем решение каких-то алгоритмических и математических задачек.
    Наверное это другие имеют в виду.
    Ответ написан
    Комментировать
  • Как можно записать команду сравнение CMP в другом виде?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Не знаю что там за версия ассемблера, но можно вместо cmp выполнить что-то вроде:
    XOR R0, 1000    # если оба операнда совпадают - то результат будет равен 0
    JZ LOC1         # прыжок если 0
    Ответ написан
    Комментировать
  • Есть ли аналог selenium?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Ответ написан
    Комментировать
  • Какие есть матермалы для изучения библиотеки discord.py?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    А чем не устраивает официальная документация?
    Ответ написан
    Комментировать
  • Как сделать проверку платежей киви?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Все очень просто:
    Прилетел вебхук - значит прошел платеж.
    Дергаете в этот момент баланс и проверяете.
    И не насилуете АПИ запросами раз в 30 секунд
    Ответ написан
    1 комментарий
  • Python для алгоритмических задач?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Есть такой проект https://projecteuler.net/
    Там как раз много задач для которых требуется проектирование алгоритмов для получения результата за разумное время.
    Так вот - в ограничения языка Python я практически не натыкался пока. Единственно в нескольких задачах я использовал С только из-за того, что лениво было искать более оптимальный алгоритм, а хотелось решить простым перебором и побыстрее ))
    В реальной жизни всегда можно в крайнем случае написать библиотеку на С которую можно состыковать для убыстрения обработки данных. Но в 100+ реальных проектах с которыми сталкивался я - такого ни разу еще не потребовалось.
    Ответ написан
    Комментировать
  • Как сделать генерацию вариантов?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    from itertools import permutations
    name = 'sasha'
    surname = 'petrov'
    birth_date = '11.01.1985' # тут еще желательно разбить по точке
    nickname = 'sanek'
    
    for j in range(3):
        for im in permutations(birth_date.split('.'), j+1):
          for x in permutations([name, surname, nickname, ''.join(im)], 2):
              print(''.join(x))


    sashapetrov
    sashasanek
    sasha19850111
    petrovsasha
    petrovsanek
    petrov19850111
    saneksasha
    sanekpetrov
    sanek19850111
    19850111sasha
    19850111petrov
    19850111sanek
    sashapetrov
    sashasanek
    sasha19850111
    petrovsasha
    petrovsanek
    petrov19850111
    saneksasha
    sanekpetrov
    sanek19850111
    19850111sasha
    19850111petrov
    19850111sanek
    sashapetrov
    sashasanek
    sasha19850111
    petrovsasha
    petrovsanek
    petrov19850111
    ...

    единственно - много повторений будет
    Ответ написан
    2 комментария
  • Как вывести сточкой без символов?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Если я правильно понял, то так:
    print(' '.join(t[0::2]))
    этот способ плохо подходит для шифрования важных сообщений
    Ответ написан
    1 комментарий
  • Как сделать что бы в программа читала один файл и измененные данные записывала в другой на Python?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Примерно как-то так
    with open('somefile', 'w+') as write_file:
         with open('someotherfile', 'r') as read_file:
              data = read_file.read()
              outdata = f(data)
              write_file.write(outdata)
    Ответ написан
    4 комментария