Advertisement
Falexom

Untitled

Jul 7th, 2022
1,321
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.74 KB | None | 0 0
  1. documents = [
  2.  {'type': 'passport', 'number': '2207 876234', 'name': 'Василий Гупкин'},
  3.  {'type': 'invoice', 'number': '11-2', 'name': 'Геннадий Покемонов'},
  4.  {'type': 'insurance', 'number': '10006', 'name': 'Аристарх Павлов'}
  5. ]
  6. directories = {
  7.  '1': ['2207 876234', '11-2'],
  8.  '2': ['10006'],
  9.  '3': []
  10. }
  11.  
  12.  
  13. def offor():
  14.     lst = directories.keys()
  15.     new = str(lst)
  16.     new = new[11:-2]
  17.     newest = new.replace("''", '')
  18.     return newest
  19.  
  20.  
  21. def num(n):
  22.     error = 'Документ не найден в базе'
  23.     flag = False
  24.     for i in documents:
  25.         if i['number'] == n:
  26.             flag = True
  27.             return(i['name'])
  28.  
  29.     if flag == False:
  30.             return error
  31.  
  32.  
  33. def shelf(n):
  34.     flag = False
  35.     for i in documents:
  36.         if i['number'] == n:
  37.             flag == True
  38.     for key, value in directories.items():
  39.         for j in value:
  40.             if j == n:
  41.                 print("Документ хранится на полке: ", key)
  42.                 return 0
  43.     if flag == False:
  44.         print("Документ не найден в базе")
  45.  
  46. def all():
  47.     for i in documents:
  48.         type = str(i['number'])
  49.  
  50.         key = [k for k, v in directories.items() for i in v if i == type][0]
  51.         print('№: ' + str(i['type']) + ', тип: ' + type + ', владелец: ' + i['name'] +
  52.              ', полка хранения: ' + key)
  53.  
  54.  
  55. def add(n):
  56.     directories[n] = []
  57.     added = offor()
  58.     return added
  59.  
  60.  
  61. def remover(n):
  62.     item = directories.items()
  63.     have = offor()
  64.     if directories[n] == []:
  65.         del directories[n]
  66.         deleted = offor()
  67.         print("Такой полки не существует. Текущий перечень полок: " + deleted)
  68.         return 0
  69.     else:
  70.         print("На полке есть документа, удалите их перед удалением полки. Текущий перечень полок: " + have)
  71.  
  72.  
  73. def choice():
  74.     print('Введите команду:')
  75.     item = input()
  76.    
  77.     if item == 'p':
  78.         print('Введите номер документа')
  79.         first = input()
  80.         print(num(first))
  81.    
  82.     if item == 's':
  83.         print('Введите номер документа')
  84.         second = input()
  85.         shelf(second)
  86.  
  87.     if item == 'i':
  88.         all()
  89.    
  90.     if item == 'ads':
  91.         print('Введите номер полки:')
  92.         third = input()
  93.         print('Полка добавлена. Текущий перечень полок: ' + add(third))
  94.    
  95.     if item == 'ds':
  96.         print('Введите номер полки:')
  97.         fourth = input()
  98.         remover(fourth)
  99.  
  100. choice()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement