编码:
from os import *
from pickle import *
flag = True
while flag:
print(f'{"AdressBook":_^20}')
do = input('Добавить, удалить, искать:')
do.lower
system('cls')
class Phone:
def __init__(self, name, surname, number):
self.name = name
self.number = number
self.surname = surname
def add(self):
fname = self.name + '.data'
book = {
'Имя': self.name,
'Фамилия': self.surname,
'Номер': self.number
}
f = open(fname, 'wb')
dump(book, f)
f.close()
del book
def delete(self):
remove(self.name + '.data')
print('Контакт удалён!')
def search(self):
fname = self.name + '.data'
f = open(fname, 'rb')
print(f'Контакт найден: {load(f)}')
doName = input('Введите имя человека, которого хотите - добавить, удалить, найти:')
if do == 'добавить':
doSurname = input('Введите фамилию человека, которого хотите добавить:')
doNumber = int(input('Введи номер человека, которого хотите добавить:'))
phone = Phone(doName, doSurname, doNumber)
phone.add()
print('Контакт был добавлен!')
elif do == 'удалить':
phone = Phone(doName, surname=1, number=1)
phone.delete()
elif do == 'искать':
phone = Phone(doName, surname=1, number=1)
phone.search()
flag = True if (input('Хотите выполнить ещё действия? (д/н):')) == 'д' else False
system('cls')
raise SystemExit(1)
也做了一个实验。如果您在输入中只写数字(不包括选择位置 - 添加、删除、查找),则会出现相同的错误:
但是如果您只输入字母(不包括选择的位置 - 添加、删除或查找),则会出现另一个错误: