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

103 строки
3.9 KiB
Markdown

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

# Индивидуальное контрольное задание по теме 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Њ129u.
```
Чтение словаря и его отображение на экране.
```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;
```