Домашни > Man who speaks the ends of words > Решения > Решението на Мирослав Стояновски

Резултати
10 точки от тестове
0 точки от учител

10 точки общо

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

 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

Дискусия
История

f1def beginning(word):f1def beginning(word):
n2    l = len(word)n2    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:
n8        return word[:l // 3 + 1]n6        return word[:length // 3]
97
10def middle(word):8def middle(word):
n11    l = len(word)n9    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:
n17        return word[l // 3 + 1 : (l * 2) // 3]n15        return word[length // 3 + 1 : (length * 2) // 3]
18    16    
19def end(word):17def end(word):
n20    l = len(word)n18    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:
n26        return word[(l * 2) // 3:]n22        return word[(length * 2) // 3:]
27    23    
28def split_sentence(sentence):24def split_sentence(sentence):
t29    words = sentence.split()t25    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
3326
34print(split_sentence('Обичам да консумирам боб със зеле и за десерт вафла'))27print(split_sentence('Обичам да консумирам боб със зеле и за десерт вафла'))
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op