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:
|