-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
44 lines (38 loc) · 1.34 KB
/
main.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
n = int(input())
namespaces = {'global': 'None', }
variables = {'global': [], }
def get(namespace, var):
global variables
global namespaces
if namespace == 'global':
return 'global' if var in variables['global'] else 'None'
if var in variables[namespace]:
return namespace
else:
return get(namespaces[namespace], var)
for i in range(n):
act, ns, vrb = map(str, input().split())
# print('{} {} {}'.format(act, ns, vrb))
if (act == 'create'):
namespaces[ns] = vrb # пространство имён:родитель
if ns not in variables:
variables[ns] = list()
if (act == 'add'):
if ns not in variables:
variables[ns] = list()
variables[ns].append(vrb) # пространство имён: (переменная, переменная2 ...)
if (act == 'get'):
if ns not in variables:
variables[ns] = list()
print(get(ns, vrb))
# if ns not in variables:
# variables[ns] = list()
# if vrb not in variables[ns]:
# if vrb not in variables[namespaces[ns]]:
# print('None')
# else:
# print(namespaces[ns])
# else:
# print(ns)
for key in variables.keys():
print('key: {}, variables: {}'.format(key, variables[key]))