ответвлено от main/python-labs
103 строки
3.9 KiB
Markdown
103 строки
3.9 KiB
Markdown
# Индивидуальное контрольное задание по теме 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;
|
||
``` |