1def get_subword_size(word):
2 return round(len(word) / 3)
3
4
5def beginning(word):
6 beginning_slice = slice(None, get_subword_size(word))
7 return word[beginning_slice]
8
9
10def end(word):
11 end_slice = slice(len(word) - get_subword_size(word), None)
12 return word[end_slice]
13
14
15def middle(word):
16 subword_size = get_subword_size(word)
17 middle_slice = slice(subword_size, len(word) - subword_size)
18 return word[middle_slice]
19
20
21def split_sentence(sentence):
22 return [
23 (beginning(word), middle(word), end(word)) for word in sentence.split()
24 ]
............
----------------------------------------------------------------------
Ran 12 tests in 0.000s
OK
Теодор Костадинов
15.10.2023 14:40За slice() функцията съм чел, че била полезна да прави кодът по-разбираем, когато имаме някакви "преобразувания". Реших да го пренапиша с нея, за да получа ваша обратна връзка. Явно наистина не е много популярна функция.
За трите-реда-return: без тях ставаше повече от 79 символа редът, та беше автоматично разрязан.
|
Георги Кунчев
13.10.2023 09:52Генерално - много чисто, ясно и подредено решение. Браво!
|
13.10.2023 09:47
13.10.2023 09:50