Advertisement
sebucky

Untitled

Feb 19th, 2020
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.75 KB | None | 0 0
  1. import random
  2.  
  3. prava = [[["полные права"], ["полные права"], ["полные права"]],
  4. [0, 0, 0],
  5. [0, 0, 0],
  6. [0, 0, 0],
  7. [0, 0, 0],
  8. [0, 0, 0],
  9. [0, 0, 0],
  10. [0, 0, 0],
  11. [0, 0, 0],
  12. [0, 0, 0]]
  13.  
  14. users = {
  15. 'Artem': 0,
  16. 'Ivan': 1,
  17. 'John': 2,
  18. 'Colin': 3,
  19. 'Maria': 4,
  20. 'Kseniya': 5,
  21. 'Polina': 6,
  22. 'Arseny': 7,
  23. 'Dmitriy': 8,
  24. 'Michael': 9
  25. }
  26.  
  27. for i in range(10):
  28. for j in range(3):
  29. d = random.randint (1, 5)
  30. if prava[i][j] == 0:
  31. if d == 1:
  32. prava[i][j] = ["чтение"]
  33. if d == 2:
  34. prava[i][j] = ["полные права"]
  35. if d == 3:
  36. prava[i][j] = ["запрет"]
  37. if d == 4:
  38. prava[i][j] = ["чтение", "запись"]
  39. if d == 5:
  40. prava[i][j] = ["чтение", "передача прав"]
  41. else:
  42. continue
  43.  
  44.  
  45. for i in range(10):
  46. print("[", end="")
  47. for j in range(3):
  48. print(prava[i][j], end = ',')
  49. print("]")
  50.  
  51.  
  52. def ukazaniya(name):
  53. d = input("Жду ваших указаний > ")
  54. if d == "выход":
  55. print("Работа пользователя ", name, "завершена. До свидания.")
  56. return 1
  57. d1 = int(input("Над каким объектом производится операция? "))
  58.  
  59. if prava[users[name]][d1 - 1].count("полные права") == 1:
  60. if (d == "чтение") or (d == "запись") or (d == "передача прав"):
  61. if (d == "передача прав"):
  62. d2 = int(input("Какое право передается? "))
  63. if prava[users[name]][d1 - 1].count(d2) == 1:
  64. d3 = input("Какому пользователю передается право? ")
  65. prava[users[d3]][d1-1].append(d2)
  66. print("Операция прошла успешно")
  67. return ukazaniya(name)
  68. else:
  69. print("У вас нет прав на эту операцию.")
  70. return ukazaniya(name)
  71. print("Операция прошла успешно")
  72. return ukazaniya(name)
  73. if prava[users[name]][d1 - 1].count(d) != 0:
  74. if (d == "передача прав"):
  75. d2 = input("Какое право передается? ")
  76. if prava[users[name]][d1 - 1].count(d2) == 1:
  77. d3 = input("Какому пользователю передается право? ")
  78. prava[users[d3]][d1 - 1].append(d2)
  79. print("Операция прошла успешно")
  80. return ukazaniya(name)
  81. else:
  82. print("У вас нет прав на эту операцию.")
  83. return ukazaniya(name)
  84. else:
  85. print("Отказ в выполнении операции. У Вас нет прав для ее осуществления.")
  86. return ukazaniya(name)
  87.  
  88.  
  89. def pew():
  90. name = input("Введите идентификатор: ")
  91. c = name in users
  92. if c == False:
  93. print("Пользователя с таким именем не существует.")
  94. return pew
  95. print("Идентификация прошла успешно, добро пожаловать в систему, ", name)
  96. print("Перечень Ваших прав:")
  97. for j in range(3):
  98. print("Файл", j + 1, ":")
  99. print(*prava[users[name]][j], sep=", ")
  100. if ukazaniya(name) == 1:
  101. return pew()
  102.  
  103.  
  104. pew()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement