Домашни > Man who speaks the ends of words > Решения > Решението на Тихомир Божков

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

10 точки общо

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

 1def beginning(word):
 2    word_length = len(word)
 3    if word_length % 3 in (0, 1):
 4        return word[:word_length // 3]
 5    else:
 6        return word[:word_length // 3 + 1]
 7
 8def middle(word):
 9    word_length = len(word)
10    if word_length % 3 == 0:
11        return word[word_length // 3 : 2 * (word_length // 3)]
12    elif word_length % 3 == 2:
13        return word[word_length // 3 + 1 : 2 * (word_length // 3) + 1]
14    else:
15        return word[word_length // 3 : 2 * (word_length // 3) + 1]
16
17def end(word):
18    word_length = len(word)
19    if word_length % 3 == 0:
20        return word[2 * (word_length // 3):]
21    else:
22        return word[2 * (word_length // 3) + 1:]
23
24def split_sentence(sentence):
25    splited_sentence = sentence.split()
26    result = []
27    for word in splited_sentence:
28        result.append((beginning(word), middle(word), end(word)))
29    return result

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

OK

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

f1def beginning(word):f1def beginning(word):
2    word_length = len(word)2    word_length = len(word)
t3    if word_length % 3 == 0 or word_length % 3 == 1:t3    if word_length % 3 in (0, 1):
4        return word[:word_length // 3]4        return word[:word_length // 3]
5    else:5    else:
6        return word[:word_length // 3 + 1]6        return word[:word_length // 3 + 1]
77
8def middle(word):8def middle(word):
9    word_length = len(word)9    word_length = len(word)
10    if word_length % 3 == 0:10    if word_length % 3 == 0:
11        return word[word_length // 3 : 2 * (word_length // 3)]11        return word[word_length // 3 : 2 * (word_length // 3)]
12    elif word_length % 3 == 2:12    elif word_length % 3 == 2:
13        return word[word_length // 3 + 1 : 2 * (word_length // 3) + 1]13        return word[word_length // 3 + 1 : 2 * (word_length // 3) + 1]
14    else:14    else:
15        return word[word_length // 3 : 2 * (word_length // 3) + 1]15        return word[word_length // 3 : 2 * (word_length // 3) + 1]
1616
17def end(word):17def end(word):
18    word_length = len(word)18    word_length = len(word)
19    if word_length % 3 == 0:19    if word_length % 3 == 0:
20        return word[2 * (word_length // 3):]20        return word[2 * (word_length // 3):]
21    else:21    else:
22        return word[2 * (word_length // 3) + 1:]22        return word[2 * (word_length // 3) + 1:]
2323
24def split_sentence(sentence):24def split_sentence(sentence):
25    splited_sentence = sentence.split()25    splited_sentence = sentence.split()
26    result = []26    result = []
27    for word in splited_sentence:27    for word in splited_sentence:
28        result.append((beginning(word), middle(word), end(word)))28        result.append((beginning(word), middle(word), end(word)))
29    return result29    return result
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op

f1def beginning(word):f1def beginning(word):
n2    if len(word) % 3 == 0:n2    word_length = len(word)
3    if word_length % 3 == 0 or word_length % 3 == 1:
3        return word[:len(word) // 3]4        return word[:word_length // 3]
4    elif len(word) % 3 == 2:
5        return word[:len(word) // 3 + 1] 
6    else:5    else:
n7        return word[:len(word) // 3]n6        return word[:word_length // 3 + 1]
87
9def middle(word):8def middle(word):
nn9    word_length = len(word)
10    if len(word) % 3 == 0:10    if word_length % 3 == 0:
11        return word[len(word) // 3 : 2 * (len(word) // 3)]11        return word[word_length // 3 : 2 * (word_length // 3)]
12    elif len(word) % 3 == 2:12    elif word_length % 3 == 2:
13        return word[len(word) // 3 + 1 : 2 * (len(word) // 3) + 1]13        return word[word_length // 3 + 1 : 2 * (word_length // 3) + 1]
14    else:14    else:
n15        return word[len(word) // 3 : 2 * (len(word) // 3) + 1]n15        return word[word_length // 3 : 2 * (word_length // 3) + 1]
1616
17def end(word):17def end(word):
nn18    word_length = len(word)
18    if len(word) % 3 == 0:19    if word_length % 3 == 0:
19        return word[2 * (len(word) // 3):]20        return word[2 * (word_length // 3):]
20    elif len(word) % 3 == 2:
21        return word[2 * (len(word) // 3) + 1:]
22    else:21    else:
n23        return word[2 * (len(word) // 3) + 1:]n22        return word[2 * (word_length // 3) + 1:]
2423
25def split_sentence(sentence):24def split_sentence(sentence):
26    splited_sentence = sentence.split()25    splited_sentence = sentence.split()
27    result = []26    result = []
28    for word in splited_sentence:27    for word in splited_sentence:
29        result.append((beginning(word), middle(word), end(word)))28        result.append((beginning(word), middle(word), end(word)))
30    return result29    return result
t31 t
32"""
33Question 1: Will it be more efficient and aesthetic to assign variables 
34after the definition of the function, like word_length = len(word), or
35this way is ok?
36 
37Question 2: Do you know if there is a built-in function 
38in Python that can track time? For example, how much 
39time does this function need to execute?
40 
41Remark: I don't need you to answer as a comment on the homework, just
42putting it here if I forgot to ask you in class.
43"""
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op