Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- prava = [[["полные права"], ["полные права"], ["полные права"]],
- [0, 0, 0],
- [0, 0, 0],
- [0, 0, 0],
- [0, 0, 0],
- [0, 0, 0],
- [0, 0, 0],
- [0, 0, 0],
- [0, 0, 0],
- [0, 0, 0]]
- users = {
- 'Artem': 0,
- 'Ivan': 1,
- 'John': 2,
- 'Colin': 3,
- 'Maria': 4,
- 'Kseniya': 5,
- 'Polina': 6,
- 'Arseny': 7,
- 'Dmitriy': 8,
- 'Michael': 9
- }
- for i in range(10):
- for j in range(3):
- d = random.randint (1, 5)
- if prava[i][j] == 0:
- if d == 1:
- prava[i][j] = ["чтение"]
- if d == 2:
- prava[i][j] = ["полные права"]
- if d == 3:
- prava[i][j] = ["запрет"]
- if d == 4:
- prava[i][j] = ["чтение", "запись"]
- if d == 5:
- prava[i][j] = ["чтение", "передача прав"]
- else:
- continue
- for i in range(10):
- print("[", end="")
- for j in range(3):
- print(prava[i][j], end = ',')
- print("]")
- def ukazaniya(name):
- d = input("Жду ваших указаний > ")
- if d == "выход":
- print("Работа пользователя ", name, "завершена. До свидания.")
- return 1
- d1 = int(input("Над каким объектом производится операция? "))
- if prava[users[name]][d1 - 1].count("полные права") == 1:
- if (d == "чтение") or (d == "запись") or (d == "передача прав"):
- if (d == "передача прав"):
- d2 = int(input("Какое право передается? "))
- if prava[users[name]][d1 - 1].count(d2) == 1:
- d3 = input("Какому пользователю передается право? ")
- prava[users[d3]][d1-1].append(d2)
- print("Операция прошла успешно")
- return ukazaniya(name)
- else:
- print("У вас нет прав на эту операцию.")
- return ukazaniya(name)
- print("Операция прошла успешно")
- return ukazaniya(name)
- if prava[users[name]][d1 - 1].count(d) != 0:
- if (d == "передача прав"):
- d2 = input("Какое право передается? ")
- if prava[users[name]][d1 - 1].count(d2) == 1:
- d3 = input("Какому пользователю передается право? ")
- prava[users[d3]][d1 - 1].append(d2)
- print("Операция прошла успешно")
- return ukazaniya(name)
- else:
- print("У вас нет прав на эту операцию.")
- return ukazaniya(name)
- else:
- print("Отказ в выполнении операции. У Вас нет прав для ее осуществления.")
- return ukazaniya(name)
- def pew():
- name = input("Введите идентификатор: ")
- c = name in users
- if c == False:
- print("Пользователя с таким именем не существует.")
- return pew
- print("Идентификация прошла успешно, добро пожаловать в систему, ", name)
- print("Перечень Ваших прав:")
- for j in range(3):
- print("Файл", j + 1, ":")
- print(*prava[users[name]][j], sep=", ")
- if ukazaniya(name) == 1:
- return pew()
- pew()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement