Предизвикателства > Осем-измерна битова баница с късмет > Решения > Решението на Георги Балтиев

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

1 точки общо

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

 1from secret import clue
 2
 3
 4def lucky():
 5    accumulated_number = 0x00
 6    shifted_left = clue(left_shift=5)  # ABCD EFGH -> FGH0 0000
 7    accumulated_number += shifted_left >> 5  # 0000 0FGH
 8
 9    shifted_right = clue(right_shift=5)  # ABCD EFGH -> 0000 0ABC
10    accumulated_number += shifted_right << 5  # ABC0 0FGH
11
12    bw_and_mask = 0x08  # 0000 1000
13    bw_or_mask = 0xef  # 1110 1111
14
15    bw_and_clue = clue(bw_and=bw_and_mask)  # ABCD EFGH -> 0000 E000
16    bw_or_clue = clue(bw_or=bw_or_mask)  # ABCD EFGH -> 111D 1111
17
18    accumulated_number += bw_and_clue  # ABC0 EFGH
19    bw_or_clue &= 0x10  # 000D 0000
20    accumulated_number += bw_or_clue  # ABCD EFGH
21
22    return accumulated_number & 0xff  # не съм сигурен че не стърчат някви битове извън 8-те

.
----------------------------------------------------------------------
Ran 1 test in 0.004s

OK

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

f1f1
2from secret import clue2from secret import clue
33
44
5def lucky():5def lucky():
6    accumulated_number = 0x006    accumulated_number = 0x00
7    shifted_left = clue(left_shift=5)  # ABCD EFGH -> FGH0 00007    shifted_left = clue(left_shift=5)  # ABCD EFGH -> FGH0 0000
8    accumulated_number += shifted_left >> 5  # 0000 0FGH8    accumulated_number += shifted_left >> 5  # 0000 0FGH
99
10    shifted_right = clue(right_shift=5)  # ABCD EFGH -> 0000 0ABC10    shifted_right = clue(right_shift=5)  # ABCD EFGH -> 0000 0ABC
11    accumulated_number += shifted_right << 5  # ABC0 0FGH11    accumulated_number += shifted_right << 5  # ABC0 0FGH
1212
13    bw_and_mask = 0x08  # 0000 100013    bw_and_mask = 0x08  # 0000 1000
14    bw_or_mask = 0xef  # 1110 111114    bw_or_mask = 0xef  # 1110 1111
1515
16    bw_and_clue = clue(bw_and=bw_and_mask)  # ABCD EFGH -> 0000 E00016    bw_and_clue = clue(bw_and=bw_and_mask)  # ABCD EFGH -> 0000 E000
17    bw_or_clue = clue(bw_or=bw_or_mask)  # ABCD EFGH -> 111D 111117    bw_or_clue = clue(bw_or=bw_or_mask)  # ABCD EFGH -> 111D 1111
1818
19    accumulated_number += bw_and_clue  # ABC0 EFGH19    accumulated_number += bw_and_clue  # ABC0 EFGH
20    bw_or_clue &= 0x10  # 000D 000020    bw_or_clue &= 0x10  # 000D 0000
t21    accumulated_number += ()  # ABCD EFGHt21    accumulated_number += bw_or_clue  # ABCD EFGH
2222
23    return accumulated_number & 0xff  # не съм сигурен че не стърчат някви битове извън 8-те23    return accumulated_number & 0xff  # не съм сигурен че не стърчат някви битове извън 8-те
2424
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op