|
|
|
|
@ -0,0 +1,103 @@
|
|
|
|
|
# Индивидуальное контрольное задание по теме 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;
|
|
|
|
|
```
|