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

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

10 точки общо

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

 1def beginning(word):
 2    '''Derive the beginning of a word, keeping in mind the remainder of the division of the word`s length by 3.'''
 3    length = len(word)
 4    if length % 3 == 0:
 5        return word[0:length // 3]
 6    elif length % 3 == 1:
 7        return word[0:length // 3]
 8    else:
 9        return word[0:length // 3 + 1]
10
11def middle(word):
12    '''Derive the middle of a word, keeping in mind the remainder of the division of the word`s length by 3.'''
13    length = len(word)
14    if length % 3 == 0:
15        return word[length // 3:2 * (length // 3)]
16    elif length % 3 == 1:
17        return word[length // 3:2 * (length // 3) + 1]
18    else:
19        return word[length // 3 + 1:2 * (length // 3) + 1]
20
21def end(word):
22    '''Derive the end of a word, keeping in mind the remainder of the division of the word`s length by 3.'''
23    length = len(word)
24    if length % 3 == 0:
25        return word[2 * (length // 3):length]
26    elif length % 3 == 1:
27        return word[2 * (length // 3) + 1:length]
28    else:
29        return word[2 * (length // 3) + 1:length]
30
31def split_sentence(sentence):
32    '''Turn a string into a list of tuples, taking into account the rules that have been implemented in the first three functions.'''
33    words_list = sentence.split()
34    result = []
35    for word in words_list:
36        result.append((beginning(word), middle(word), end(word)))
37    return result

............
----------------------------------------------------------------------
Ran 12 tests in 0.000s

OK

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

f1def beginning(word):f1def beginning(word):
n2    '''This function derives the beginning of a word from it, keeping in mind the remainder of the division of the word`s length by 3'''n2    '''Derive the beginning of a word, keeping in mind the remainder of the division of the word`s length by 3.'''
3    length = len(word)3    length = len(word)
4    if length % 3 == 0:4    if length % 3 == 0:
n5        word1 = slice(length // 3)n5        return word[0:length // 3]
6    elif length % 3 == 1:6    elif length % 3 == 1:
n7        word1 = slice(length // 3)n7        return word[0:length // 3]
8    else:8    else:
n9        word1 = slice(length // 3 + 1)n9        return word[0:length // 3 + 1]
10    return word[word1]
1110
12def middle(word):11def middle(word):
n13    '''This function derives the middle of a word from it, keeping in mind the remainder of the division of the word`s length by 3'''n12    '''Derive the middle of a word, keeping in mind the remainder of the division of the word`s length by 3.'''
14    length = len(word)13    length = len(word)
15    if length % 3 == 0:14    if length % 3 == 0:
n16        word2 = slice(length // 3, 2 * (length // 3))n15        return word[length // 3:2 * (length // 3)]
17    elif length % 3 == 1:16    elif length % 3 == 1:
n18        word2 = slice(length // 3, 2 *(length // 3) + 1)n17        return word[length // 3:2 * (length // 3) + 1]
19    else:18    else:
n20        word2 = slice(length // 3 + 1, 2 * (length // 3) + 1)n19        return word[length // 3 + 1:2 * (length // 3) + 1]
21    return word[word2]
2220
23def end(word):21def end(word):
n24    '''This function derives the end of a word from it, keeping in mind the remainder of the division of the word`s length by 3'''n22    '''Derive the end of a word, keeping in mind the remainder of the division of the word`s length by 3.'''
25    length = len(word)23    length = len(word)
26    if length % 3 == 0:24    if length % 3 == 0:
n27        word3 = slice(2 * (length // 3)length)n25        return word[2 * (length // 3):length]
28    elif length % 3 == 1:26    elif length % 3 == 1:
n29        word3 = slice(2 *(length // 3) + 1length)n27        return word[2 * (length // 3) + 1:length]
30    else:28    else:
n31        word3 = slice(2 *(length // 3) + 1length)n29        return word[2 * (length // 3) + 1:length]
32    return word[word3]
3330
34def split_sentence(sentence):31def split_sentence(sentence):
n35    '''This function turns a string into a list of tuples (taking into account the rules that have been implemented in the first three functions)'''n32    '''Turn a string into a list of tuplestaking into account the rules that have been implemented in the first three functions.'''
36    words_list = sentence.split()33    words_list = sentence.split()
37    result = []34    result = []
38    for word in words_list:35    for word in words_list:
t39        b = beginning(word) # b = beginning of current wordt36        result.append((beginning(word), middle(word), end(word)))
40        m = middle(word) # m = middle of current word
41        e = end(word) # e = end of current word
42        result.append((b, m, e))
43    return result37    return result
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op