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

3.9 KiB

Индивидуальное контрольное задание по теме 6

Криви Анастасия, А-02-23 Вариант 4

Задание

  1. Создайте словарь с 7 элементами, в которых ключами являются логины пользователей, а значениями - их пароли.

  2. Запросите у пользователя логин и пароль, проверьте их наличие в качестве элемента словаря. Если такой элемент найден, выдайте сообщение "Access granted", иначе - "Access denied".

  3. Запишите словарь в бинарный файл и после этого удалите словарь из памяти.

  4. Прочитайте словарь из файла. Отобразите его на экране.

  5. Запросите у пользователя логин и пароль нового пользователя и добавьте соответствующий элемент в словарь.

Выполнение

Создание словаря с семью элементами, в которых ключи - логины пользователей, а значения - их паролив соотвествии.

clov={'ac':'123','as':'124','az':'125', 'ax':'126', 'aw':'127', 'af':'128', 'an':'129'}

Ввод информации от пользователя - логин и пароль.

log=input('Введите ваш логин: ')
Введите ваш логин: ac
pas=input('Введите ваш пароль: ')
Введите ваш пароль: 123

Проверка наличия пользователя в системе, то есть существуют ли вводимые значения в созданной нами словаре:

if (log in clov)and (clov[log] == pas):
    print('Access granted')
else:
    print('Access denied')

    
Access granted

Изменение вводимых значений и повторная проверка.

log=input('Введите ваш логин: ')
Введите ваш логин: ac
pas=input('Введите ваш пароль: ')
Введите ваш пароль: 12

if (log in clov)and (clov[log] == pas):
    print('Access granted')
else:
    print('Access denied')

    
Access denied

Запись словаря с данными пользователей в бинарный файл.

with open('clov.txt','wb')as fp:
    pickle.dump(clov, fp)

Удаление словаря из памяти.

del clov

Полученный бинарный файл с словарем

ЂR       }(ЊacЊ123ЊasЊ124ЊazЊ125ЊaxЊ126ЊawЊ127ЊafЊ128ЊanЊ129u.

Чтение словаря и его отображение на экране.

with open('clov.txt','rb')as fp:
    nclov=pickle.load(fp); print(nclov)

Ввод новых данных пользователя - логин и пароль. Добавление их в словарь

nlog=input('Введите новый логин: ')
npas=input('Введите новый пароль: ')
nclov[nlog] = npas;

Полученный код с решением варианта.

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;