-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy path1_users.py
49 lines (37 loc) · 1.2 KB
/
1_users.py
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 random
import string
import sys
class User:
def __init__(self, name):
self.name = name
class User2:
strings = []
def __init__(self, full_name):
def get_or_add(s):
if s in self.strings:
return self.strings.index(s)
else:
self.strings.append(s)
return len(self.strings)-1
self.names = [get_or_add(x) for x in full_name.split(' ')]
def __str__(self):
return ' '.join([self.strings[x] for x in self.names])
def random_string():
chars = string.ascii_lowercase
return ''.join([random.choice(chars) for x in range(8)])
if __name__ == '__main__':
users = []
first_names = [random_string() for x in range(100)]
last_names = [random_string() for x in range(100)]
for first in first_names:
for last in last_names:
users.append(User(f'{first} {last}'))
u2 = User2('Jim Jones')
u3 = User2('Frank Jones')
print(u2.names)
print(u3.names)
print(User2.strings)
users2 = []
for first in first_names:
for last in last_names:
users2.append(User2(f'{first} {last}'))