Предизвикателства > Регекс за Дядо Коледа > Решения > Решението на Виктория Колева

Резултати
2 точки от тестове
1 точки от учител

3 точки общо

3 успешни теста
0 неуспешни теста
Код

 1def parse_wishlist(wishlist):
 2    lines = wishlist.split('\n')
 3    good_kids = []
 4    wishes = []
 5    name = ''
 6    for index, line in enumerate(lines):
 7        line = line.strip()
 8        if line.startswith('('):
 9            if name:
10                good_kids.append((coefficient, name, age, tuple(wishes)))
11                wishes = []
12            coefficient_str, rest_after_coefficient = line[1:].split(')', 1)
13            coefficient = float(coefficient_str)
14            name, rest_after_name = rest_after_coefficient.split('[', 1)
15            name = name.strip()
16            age = int(''.join(x for x in rest_after_name if x in '0123456789'))
17        elif line.startswith('-') or line.startswith('*'):
18            wish = line[1:].strip()
19            if wish:
20                wishes.append(wish)
21        if index == len(lines) - 1:
22            good_kids.append((coefficient, name, age, tuple(wishes)))
23    return good_kids

...
----------------------------------------------------------------------
Ran 3 tests in 0.002s

OK

Дискусия
Георги Илиев
27.12.2023 13:08

Евала!
Виктор Бечев
27.12.2023 12:37

Знаеш ли, с 3 минаващи теста - дори не съм разочарован от това, че не си ползвала регулярни изрази. Поощрявам този признак на бунтарство! :grin:
История
Това решение има само една версия.