# Индивидуальное контрольное задание по теме 6 Криви Анастасия, А-02-23 Вариант 4 ## Задание 1) Создайте словарь с 7 элементами, в которых ключами являются логины пользователей, а значениями - их пароли. 2) Запросите у пользователя логин и пароль, проверьте их наличие в качестве элемента словаря. Если такой элемент найден, выдайте сообщение "Access granted", иначе - "Access denied". 3) Запишите словарь в бинарный файл и после этого удалите словарь из памяти. 4) Прочитайте словарь из файла. Отобразите его на экране. 5) Запросите у пользователя логин и пароль нового пользователя и добавьте соответствующий элемент в словарь. ## Выполнение Создание словаря с семью элементами, в которых ключи - логины пользователей, а значения - их паролив соотвествии. ```py clov={'ac':'123','as':'124','az':'125', 'ax':'126', 'aw':'127', 'af':'128', 'an':'129'} ``` Ввод информации от пользователя - логин и пароль. ```py log=input('Введите ваш логин: ') Введите ваш логин: ac pas=input('Введите ваш пароль: ') Введите ваш пароль: 123 ``` Проверка наличия пользователя в системе, то есть существуют ли вводимые значения в созданной нами словаре: ```py if (log in clov)and (clov[log] == pas): print('Access granted') else: print('Access denied') Access granted ``` Изменение вводимых значений и повторная проверка. ```py log=input('Введите ваш логин: ') Введите ваш логин: ac pas=input('Введите ваш пароль: ') Введите ваш пароль: 12 if (log in clov)and (clov[log] == pas): print('Access granted') else: print('Access denied') Access denied ``` Запись словаря с данными пользователей в бинарный файл. ```py with open('clov.txt','wb')as fp: pickle.dump(clov, fp) ``` Удаление словаря из памяти. ```py del clov ``` Полученный бинарный файл с словарем ```py Ђ•R }”(Њac”Њ123”Њas”Њ124”Њaz”Њ125”Њax”Њ126”Њaw”Њ127”Њaf”Њ128”Њan”Њ129”u. ``` Чтение словаря и его отображение на экране. ```py with open('clov.txt','rb')as fp: nclov=pickle.load(fp); print(nclov) ``` Ввод новых данных пользователя - логин и пароль. Добавление их в словарь ```py nlog=input('Введите новый логин: ') npas=input('Введите новый пароль: ') nclov[nlog] = npas; ``` Полученный код с решением варианта. ```py import pickle import os clov={'ac':'123','as':'124','az':'125', 'ax':'126', 'aw':'127', 'af':'128', 'an':'129'} log=input('Введите ваш логин: ') pas=input('Введите ваш пароль: ') if (log in clov)and (clov[log] == pas): print('Access granted') else: print('Access denied') with open('clov.txt','wb')as fp: pickle.dump(clov, fp) del clov with open('clov.txt','rb')as fp: nclov=pickle.load(fp); print(nclov) nlog=input('Введите новый логин: ') npas=input('Введите новый пароль: ') nclov[nlog] = npas; ```