1def beginning(word):
2 length = len(word)
3 if length % 3 == 2:
4 return word[:length // 3 + 1]
5 else:
6 return word[:length // 3]
7
8def middle(word):
9 length = len(word)
10 if length % 3 == 0:
11 return word[length // 3 : (length * 2) // 3]
12 elif length % 3 == 1:
13 return word[length // 3 : (length * 2) // 3 + 1]
14 else:
15 return word[length // 3 + 1 : (length * 2) // 3]
16
17def end(word):
18 length = len(word)
19 if length % 3 == 1:
20 return word[(length * 2) // 3 + 1:]
21 else:
22 return word[(length * 2) // 3:]
23
24def split_sentence(sentence):
25 return [(beginning(word), middle(word), end(word)) for word in sentence.split()]
26
27print(split_sentence('Обичам да консумирам боб със зеле и за десерт вафла'))
[('Об', 'ич', 'ам'), ('д', '', 'а'), ('кон', 'суми', 'рам'), ('б', 'о', 'б'), ('с', 'ъ', 'с'), ('з', 'ел', 'е'), ('', 'и', ''), ('з', '', 'а'), ('де', 'се', 'рт'), ('ва', 'ф', 'ла')]
............
----------------------------------------------------------------------
Ran 12 tests in 0.000s
OK
| f | 1 | def beginning(word): | f | 1 | def beginning(word): |
| n | 2 | l = len(word) | n | 2 | length = len(word) |
| 3 | if l % 3 == 0: | 3 | if length % 3 == 2: | ||
| 4 | return word[:l // 3] | 4 | return word[:length // 3 + 1] | ||
| 5 | elif l % 3 == 1: | ||||
| 6 | return word[:l // 3] | ||||
| 7 | else: | 5 | else: | ||
| n | 8 | return word[:l // 3 + 1] | n | 6 | return word[:length // 3] |
| 9 | 7 | ||||
| 10 | def middle(word): | 8 | def middle(word): | ||
| n | 11 | l = len(word) | n | 9 | length = len(word) |
| 12 | if l % 3 == 0: | 10 | if length % 3 == 0: | ||
| 13 | return word[l // 3 : (l * 2) // 3] | 11 | return word[length // 3 : (length * 2) // 3] | ||
| 14 | elif l % 3 == 1: | 12 | elif length % 3 == 1: | ||
| 15 | return word[l // 3 : (l * 2) // 3 + 1] | 13 | return word[length // 3 : (length * 2) // 3 + 1] | ||
| 16 | else: | 14 | else: | ||
| n | 17 | return word[l // 3 + 1 : (l * 2) // 3] | n | 15 | return word[length // 3 + 1 : (length * 2) // 3] |
| 18 | 16 | ||||
| 19 | def end(word): | 17 | def end(word): | ||
| n | 20 | l = len(word) | n | 18 | length = len(word) |
| 21 | if l % 3 == 0: | ||||
| 22 | return word[(l * 2) // 3:] | ||||
| 23 | elif l % 3 == 1: | 19 | if length % 3 == 1: | ||
| 24 | return word[(l * 2) // 3 + 1:] | 20 | return word[(length * 2) // 3 + 1:] | ||
| 25 | else: | 21 | else: | ||
| n | 26 | return word[(l * 2) // 3:] | n | 22 | return word[(length * 2) // 3:] |
| 27 | 23 | ||||
| 28 | def split_sentence(sentence): | 24 | def split_sentence(sentence): | ||
| t | 29 | words = sentence.split() | t | 25 | return [(beginning(word), middle(word), end(word)) for word in sentence.split()] |
| 30 | for i in range(0,len(words)): | ||||
| 31 | words[i] = (beginning(words[i]),middle(words[i]),end(words[i])) | ||||
| 32 | return words | ||||
| 33 | 26 | ||||
| 34 | print(split_sentence('Обичам да консумирам боб със зеле и за десерт вафла')) | 27 | print(split_sentence('Обичам да консумирам боб със зеле и за десерт вафла')) |
| Legends | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||