1def get_word_fragments(word):
2 remainder = len(word) % 3
3 substring_length = len(word) // 3
4
5 if remainder == 1:
6 return (
7 word[0:substring_length],
8 word[substring_length:substring_length * 2 + 1],
9 word[substring_length * 2 + 1:substring_length * 3 + 1],
10 )
11 elif remainder == 2:
12 return (
13 word[0:substring_length + 1],
14 word[substring_length + 1:substring_length * 2 + 1],
15 word[substring_length * 2 + 1:substring_length * 3 + 2],
16 )
17 else:
18 return (
19 word[0:substring_length],
20 word[substring_length:substring_length * 2],
21 word[substring_length * 2:substring_length * 3],
22 )
23
24def beginning(word):
25 return get_word_fragments(word)[0]
26
27def middle(word):
28 return get_word_fragments(word)[1]
29
30def end(word):
31 return get_word_fragments(word)[2]
32
33def split_sentence(sentence):
34 words = sentence.split()
35 fragmented_words = []
36
37 for word in words:
38 fragmented_words.append(get_word_fragments(word))
39
40 return fragmented_words
............
----------------------------------------------------------------------
Ran 12 tests in 0.000s
OK
Георги Кунчев
15.10.2023 10:49Нямам забележки по кода, но не смятам, че е добра идея да дефинираш цялата функционалност в една функция, а трите функции, които искаме, само да играят ролята на посредник. Прекалено много логика на едно място, без никаква логика в останалите функцийки. Все пак, и твоят вариант си има своите плюсове, така че тук мнението ми е по-скоро субективно. Не очаквам да го променяш, а просто споделям впечатления.
|