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

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

10 точки общо

12 успешни теста
0 неуспешни теста
Код
Скрий всички коментари

 1def beginning(word):
 2    section = len(word) // 3
 3
 4    match len(word) % 3:
 5        case 0 | 1:
 6            return word[0:section]
 7        case 2:
 8            return word[0:(section + 1)]
 9
10def middle(word):
11    section = len(word) // 3
12
13    match len(word) % 3:
14        case 0:
15            return word[section:(2 * section)]
16        case 1:
17            return word[section:(2 * section + 1)]
18        case 2:
19            return word[(section + 1):(2 * section + 1)]
20
21def end(word):
22    section = len(word) // 3
23
24    match len(word) % 3:
25        case 0:
26            return word[(2 * section):(len(word))]
27        case 1 | 2:
28            return word[(2 * section + 1):(len(word))]
29
30def split_sentence(sentence):
31    sentence_by_words = []
32
33    for word in sentence.split(" "):
34        sentence_by_words.append((beginning(word), middle(word), end(word)))
35
36    return sentence_by_words
37
38print(beginning("шах"))
39print(beginning("Враца"))
40print(beginning("барабани"))
41print("_________")
42print(middle("123456"))
43print(middle("1234567"))
44print(middle("12345678"))
45print("_________")
46print(end("123456"))
47print(end("1234567"))
48print(end("12345678"))
49print("_________")
50print(split_sentence("Kазвам се Джон Сноу"))
51print(split_sentence("Де всяко домашно да беше такова"))
52print(split_sentence("Искам сникърс"))
53print(split_sentence("Is this code PEP8 friendly?"))

ш
Вр
бар
_________
34
345
45
_________
56
67
678
_________
[('Kа', 'зв', 'ам'), ('с', '', 'е'), ('Д', 'жо', 'н'), ('С', 'но', 'у')]
[('Д', '', 'е'), ('вс', 'я', 'ко'), ('до', 'маш', 'но'), ('д', '', 'а'), ('б', 'еш', 'е'), ('та', 'ко', 'ва')]
[('Ис', 'к', 'ам'), ('сн', 'икъ', 'рс')]
[('I', '', 's'), ('t', 'hi', 's'), ('c', 'od', 'e'), ('P', 'EP', '8'), ('fri', 'end', 'ly?')]
............
----------------------------------------------------------------------
Ran 12 tests in 0.001s

OK

Дискусия
Георги Кунчев
12.10.2023 11:50

Малък или не, нека го има черно на бяло. Правата на студентите за изтриване на каквото и да било от сайта са сведени до минимум, за да имаме ясна история за всичко, което се е случило (без да ровим логове), и да сведем възможността за скриване на нещо важно до минимум. ПП: Не го мисли сайта :) Ако тези няколко килобайта го гътнат, значи сме абсолютни аматьори.
Пламена Стоянова
12.10.2023 11:48

Защо не можем да си изтриваме качените решения? Хубаво е да имаме история на какво сме поправяли, но за такива small fixes не натовармаве ли допълнително сайта?
История

f1def beginning(word):f1def beginning(word):
2    section = len(word) // 32    section = len(word) // 3
33
4    match len(word) % 3:4    match len(word) % 3:
5        case 0 | 1:5        case 0 | 1:
6            return word[0:section]6            return word[0:section]
7        case 2:7        case 2:
8            return word[0:(section + 1)]8            return word[0:(section + 1)]
99
10def middle(word):10def middle(word):
11    section = len(word) // 311    section = len(word) // 3
1212
13    match len(word) % 3:13    match len(word) % 3:
14        case 0:14        case 0:
15            return word[section:(2 * section)]15            return word[section:(2 * section)]
16        case 1:16        case 1:
17            return word[section:(2 * section + 1)]17            return word[section:(2 * section + 1)]
18        case 2:18        case 2:
19            return word[(section + 1):(2 * section + 1)]19            return word[(section + 1):(2 * section + 1)]
2020
21def end(word):21def end(word):
22    section = len(word) // 322    section = len(word) // 3
2323
24    match len(word) % 3:24    match len(word) % 3:
25        case 0:25        case 0:
26            return word[(2 * section):(len(word))]26            return word[(2 * section):(len(word))]
n27        case 1:n27        case 1 | 2:
28            return word[(2 * section + 1):(len(word))]
29        case 2:
30            return word[(2 * section + 1):(len(word))]28            return word[(2 * section + 1):(len(word))]
3129
32def split_sentence(sentence):30def split_sentence(sentence):
33    sentence_by_words = []31    sentence_by_words = []
3432
35    for word in sentence.split(" "):33    for word in sentence.split(" "):
36        sentence_by_words.append((beginning(word), middle(word), end(word)))34        sentence_by_words.append((beginning(word), middle(word), end(word)))
3735
38    return sentence_by_words36    return sentence_by_words
3937
40print(beginning("шах"))38print(beginning("шах"))
41print(beginning("Враца"))39print(beginning("Враца"))
42print(beginning("барабани"))40print(beginning("барабани"))
43print("_________")41print("_________")
44print(middle("123456"))42print(middle("123456"))
45print(middle("1234567"))43print(middle("1234567"))
46print(middle("12345678"))44print(middle("12345678"))
47print("_________")45print("_________")
48print(end("123456"))46print(end("123456"))
49print(end("1234567"))47print(end("1234567"))
50print(end("12345678"))48print(end("12345678"))
51print("_________")49print("_________")
52print(split_sentence("Kазвам се Джон Сноу"))50print(split_sentence("Kазвам се Джон Сноу"))
53print(split_sentence("Де всяко домашно да беше такова"))51print(split_sentence("Де всяко домашно да беше такова"))
54print(split_sentence("Искам сникърс"))52print(split_sentence("Искам сникърс"))
tt53print(split_sentence("Is this code PEP8 friendly?"))
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op

t1def beginning(word):t1def beginning(word):
2    section = len(word) // 32    section = len(word) // 3
33
4    match len(word) % 3:4    match len(word) % 3:
5        case 0 | 1:5        case 0 | 1:
6            return word[0:section]6            return word[0:section]
7        case 2:7        case 2:
8            return word[0:(section + 1)]8            return word[0:(section + 1)]
99
10def middle(word):10def middle(word):
11    section = len(word) // 311    section = len(word) // 3
1212
13    match len(word) % 3:13    match len(word) % 3:
14        case 0:14        case 0:
15            return word[section:(2 * section)]15            return word[section:(2 * section)]
16        case 1:16        case 1:
17            return word[section:(2 * section + 1)]17            return word[section:(2 * section + 1)]
18        case 2:18        case 2:
19            return word[(section + 1):(2 * section + 1)]19            return word[(section + 1):(2 * section + 1)]
2020
21def end(word):21def end(word):
22    section = len(word) // 322    section = len(word) // 3
2323
24    match len(word) % 3:24    match len(word) % 3:
25        case 0:25        case 0:
26            return word[(2 * section):(len(word))]26            return word[(2 * section):(len(word))]
27        case 1:27        case 1:
28            return word[(2 * section + 1):(len(word))]28            return word[(2 * section + 1):(len(word))]
29        case 2:29        case 2:
30            return word[(2 * section + 1):(len(word))]30            return word[(2 * section + 1):(len(word))]
3131
32def split_sentence(sentence):32def split_sentence(sentence):
33    sentence_by_words = []33    sentence_by_words = []
3434
35    for word in sentence.split(" "):35    for word in sentence.split(" "):
36        sentence_by_words.append((beginning(word), middle(word), end(word)))36        sentence_by_words.append((beginning(word), middle(word), end(word)))
3737
38    return sentence_by_words38    return sentence_by_words
3939
40print(beginning("шах"))40print(beginning("шах"))
41print(beginning("Враца"))41print(beginning("Враца"))
42print(beginning("барабани"))42print(beginning("барабани"))
43print("_________")43print("_________")
44print(middle("123456"))44print(middle("123456"))
45print(middle("1234567"))45print(middle("1234567"))
46print(middle("12345678"))46print(middle("12345678"))
47print("_________")47print("_________")
48print(end("123456"))48print(end("123456"))
49print(end("1234567"))49print(end("1234567"))
50print(end("12345678"))50print(end("12345678"))
51print("_________")51print("_________")
52print(split_sentence("Kазвам се Джон Сноу"))52print(split_sentence("Kазвам се Джон Сноу"))
53print(split_sentence("Де всяко домашно да беше такова"))53print(split_sentence("Де всяко домашно да беше такова"))
54print(split_sentence("Искам сникърс"))54print(split_sentence("Искам сникърс"))
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op