-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
49 lines (39 loc) · 1.29 KB
/
main.py
File metadata and controls
49 lines (39 loc) · 1.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import base64
import random
def create_pairs(names):
pairs = [names[i : i + 2] for i in range(0, len(names), 2)]
if len(pairs[-1]) == 1:
pairs[-2].append(pairs[-1][0])
pairs.pop()
return pairs
def generate_encoded_strings(pairs):
encoded_strings = {}
for i, senders in enumerate(pairs):
for sender in senders:
recipients = pairs[i + 1] if i < len(pairs) - 1 else pairs[0]
sender_info = f"{sender}: Du er hemmelig pinsevenn med {' og '.join(s for s in senders if s != sender)}. Dere skal gi til {' og '.join(recipients)}."
encoded_sender_info = base64.b64encode(sender_info.encode("utf-8")).decode(
"utf-8"
)
encoded_strings[sender] = encoded_sender_info
return encoded_strings
if __name__ == "__main__":
# List of names
names = [
"Andreas",
"Eivind",
"Simen",
"David L.",
"David N.",
"Kristian",
"Erlend",
"Jørgen",
]
# Randomize the list
random.shuffle(names)
# Create pairs of names
pairs = create_pairs(names)
# Generate encoded strings
encoded_strings = generate_encoded_strings(pairs)
for name, encoded_info in encoded_strings.items():
print(f"{name}: {encoded_info}")