Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

50 строки
2.2 KiB
Markdown

# Индивидуальное контрольное задание по модулю 2
Махнов Георгий, А-01-23
## Задание 4
1) Создайте словарь с 7 элементами, в которых ключами являются логины пользователей, а значениями - их пароли.
2) Запросите у пользователя логин и пароль, проверьте их наличие в качестве элемента словаря. Если такой элемент найден, выдайте сообщение "Access granted", иначе - "Access denied".
3) Запишите словарь в бинарный файл и после этого удалите словарь из памяти.
4) Прочитайте словарь из файла. Отобразите его на экране.
5) Запросите у пользователя логин и пароль нового пользователя и добавьте соответствующий элемент в словарь.
## Решение
```py
from pickle import dump, load
user_dict = {'user1':'passwd1', 'user2':'passwd2', 'user3':'passwd3', 'user4':'passwd4', 'user5':'passwd5', 'user6':'passwd6', 'user7':'passwd7'}
login = input("Enter your login: ")
passw = input("Enter your password: ")
if login in user_dict.keys() and user_dict[login] == passw:
print("Access granted")
else:
print("Access denied")
with open("users.bin", 'wb') as fl:
dump(user_dict, fl)
del(user_dict)
with open('users.bin', 'rb') as fl:
user_dict_new = load(fl)
print(f"{user_dict_new} is new user dictionary")
login_new = input("Enter your login: ")
user_dict_new[login_new] = input("Enter your password: ")
print(user_dict_new)
>>> Enter your login: user1
Enter your password: passwd1
Access granted
{'user1': 'passwd1', 'user2': 'passwd2', 'user3': 'passwd3', 'user4': 'passwd4', 'user5': 'passwd5', 'user6': 'passwd6', 'user7': 'passwd7'} is new user dictionary
Enter your login: user_new
Enter your password: passw_new
{'user1': 'passwd1', 'user2': 'passwd2', 'user3': 'passwd3', 'user4': 'passwd4', 'user5': 'passwd5', 'user6': 'passwd6', 'user7': 'passwd7', 'user_new': 'passw_new'}
```