ответвлено от main/python-labs
выполнение ИКЗ
Этот коммит содержится в:
103
TEMA6/test.md
Обычный файл
103
TEMA6/test.md
Обычный файл
@@ -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;
|
||||
```
|
||||
Ссылка в новой задаче
Block a user