Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (7)

Лучшие ответы пользователя

Все ответы (6)
  • Какие есть open source проекты для джуниоров?

    @traims
    Будет здорово, если кто-нибудь поделится личным опытом. Я же могу подсказать список проектов Google Summer of Code: https://www.google-melange.com/gsoc/org/list/publi...
    Организации можно искать по ключевым словам в колонке справа (например, ввести "python"). На странице каждой организации есть ссылка на "Ideas page", где есть идеи для летних проектов, рассчитанных на студентов. Часто указывается сложность проекта. Скорее всего, эти идеи быстро разберут, но само их наличие может подсказать, в каких проектах способен разобраться и новичок.
    Ответ написан
    2 комментария
  • Как отделить каждый 4-ый элемент массива?

    @traims
    Очевидно-школьное решение.

    <?php 
    for ($times=0; $times<4; $times++)
    { 
      for ($element=$times+1; $element<20; $element+=4)
      {
        echo " $element ";    
      } 
      echo "<br>";
    }  
    ?>


    Выводит текст:
    1 5 9 13 17 
    2 6 10 14 18 
    3 7 11 15 19 
    4 8 12 16
    Ответ написан
    2 комментария
  • Пробное тестирование IELTS, где пройти?

    @traims
    Ключевые слова: "IELTS Practice Tests", "IELTS Mock Exams". Можно найти, например:
    takeielts.britishcouncil.org/prepare-test/free-pra... (PDF для разных частей экзамена)
    www.esolcourses.com/revision/ielts.html (есть и вопросы для повторения, и mock papers)
    Ответ написан
    Комментировать
  • Как написать parser для txt в словарь с использованием regex pyton?

    @traims
    1. Допустим, мы хотим поймать всё, что находится между символами {## и ##}. Как будет выглядеть регулярное выражение?

    Нам всё равно, какие символы будут встречаться внутри, поэтому можно поставить точку — произвольный символ. Пусть этот символ будет повторяться произвольное число раз — добавляем звёздочку. Нам надо поймать всё, что находится между {## и ##} — добавляем круглые скобки, чтобы обозначить границы группы:
    {## (.*) ##}
    Можно немного изменить это регулярное выражение, например, поставить знак "+" вместо звёздочки — это будет означать, что произвольный символ должен встретиться хотя бы один раз (звёздочка означает, что он может встретиться ноль или более раз).

    2. Как использовать это регулярное выражение?

    Можно применять его к каждой строке файла по очереди. А можно применить ко всему файлу целиком, если он небольшой.

    Допустим, мы считываем весь файл в одну строковую переменную:
    with open('input.txt', 'r') as f:
        text = f.read()

    Тогда мы можем вытащить из него сразу всё, что нас интересует:
    import re
    pattern = "{## (.*) ##}"
    result = re.findall(pattern, text)

    Результатом будет список строк вида
    ['bonus:DS',
    'bang:fm,bv',
    'zf:123,230',
    'zf1:349,410',
    ... ]

    Здесь каждую строку можно разбить на две:
    s = 'bonus:DS'
    s.split(':')  # получаем ['bonus', 'DS']

    — и дальше действовать как потребуется.

    3. Что получится, если включить двоеточие сразу в регулярное выражение?

    Чтобы обойтись без использования split(), можно изначально включить двоеточие в наше регулярное выражение:
    pattern = "{## (.*):(.*) ##}"
    Результатом будет список кортежей:
    [('bonus', 'DS'),
    ('bang', 'fm,bv'),
    ('zf', '123,230'),
    ('zf1', '349,410'),
    ... ]


    4. Как собирать различные структуры данных с нуля?

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

    Списки:
    list = []
    list.append('a')

    Пары ключ-значение (словари):
    d = dict()
    d['a'] = '123'

    Кортежи:
    x = '123'
    y = '456'
    tuple = (x, y)

    По идее, этой информации должно быть достаточно, чтобы вы смогли разобраться в путях решения задачи. Удачи!
    Ответ написан
    Комментировать