Advertisement
plarmi

программа «Сотрудники‎»

Feb 19th, 2024
1,122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.16 KB | None | 0 0
  1. with open(r"Сотрудники.txt", "r", encoding="utf-8") as file:
  2.     text = file.read().splitlines()
  3.  
  4. database = {}
  5. for i in text:
  6.     temp = i.split()
  7.     database[" ".join(temp[0:3])] = int(temp[3])
  8.  
  9. while True:
  10.     choice = input(f"***********************\n"
  11.                    f"show - вывести список сотрудников\n"
  12.                    f"save - сохранить данные\n"
  13.                    f"exit - выйти из программы\n"
  14.                    f"add - добавить\n"
  15.                    f"edit - изменить\n"
  16.                    f"del - удалить\n"
  17.                    f"surname - поиск по фамилии\n"
  18.                    f"age - все сотрудники по указанному возрасту\n"
  19.                    f"letter - все сотрудники, у которых фамилии начинаются на указанную букву\n"
  20.                    f"Выберите действие: ")
  21.  
  22.     if choice == "show":
  23.         print(database)
  24.  
  25.     elif choice == "save":
  26.         with open(r"Сотрудники.txt", "w", encoding="utf-8") as file:
  27.             for i, j in database.items():
  28.                 file.writelines(f"{i} {j}\n")
  29.         print("Изменения сохранены!")
  30.  
  31.     elif choice == "exit":
  32.         with open(r"Сотрудники.txt", "w", encoding="utf-8") as file:
  33.             for i, j in database.items():
  34.                 file.writelines(f"{i} {j}\n")
  35.             print("Программа завершается. Изменения сохранены!")
  36.         break
  37.  
  38.     elif choice == "add":
  39.         name = input("Введите ФИО: ")
  40.         age = int(input("Введите возраст: "))
  41.         database[name] = age
  42.  
  43.     elif choice == "edit":
  44.         name = input("Введите текущее ФИО сотрудника: ")
  45.         choice = input("Что изменить? (name - ФИО, age - возраст): ")
  46.         if choice == "name":
  47.             new_name = input("Введите новое ФИО сотрудника: ")
  48.             database[new_name] = database.pop(name)
  49.         elif choice == "age":
  50.             new_age = int(input("Введите новый возраст сотрудника: "))
  51.             database[name] = new_age
  52.  
  53.     elif choice == "del":
  54.         name = input("Введите ФИО сотрудника для удаления: ")
  55.         del database[name]
  56.  
  57.     elif choice == "surname":
  58.         name = input("Введите фамилию сотрудника для поиска: ")
  59.  
  60.         for i, j in database.items():
  61.             if name == i.split()[0]:
  62.                 print(f"{i} {j}")
  63.  
  64.     elif choice == "age":
  65.         age = int(input("Введите возраст: "))
  66.         for i, j in database.items():
  67.             if j == age:
  68.                 print(f"{i} {j}", end="\n")
  69.  
  70.     elif choice == "letter":
  71.         name = input("Введите букву: ").upper()
  72.         for i, j in database.items():
  73.             if i.startswith(name):
  74.                 print(f"{i} {j}", end="\n")
  75.  
  76.     else:
  77.         print("Такой команды нет!")
  78.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement