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

2.2 KiB

Индивидуальное контрольное задание по модулю 2

Махнов Георгий, А-01-23

Задание 4

  1. Создайте словарь с 7 элементами, в которых ключами являются логины пользователей, а значениями - их пароли.

  2. Запросите у пользователя логин и пароль, проверьте их наличие в качестве элемента словаря. Если такой элемент найден, выдайте сообщение "Access granted", иначе - "Access denied".

  3. Запишите словарь в бинарный файл и после этого удалите словарь из памяти.

  4. Прочитайте словарь из файла. Отобразите его на экране.

  5. Запросите у пользователя логин и пароль нового пользователя и добавьте соответствующий элемент в словарь.

Решение

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'}