форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
50 строки
2.2 KiB
Markdown
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'}
|
|
``` |