在Byte of Python一书中,作者留下了一个作业。这是我用Python V3完成的答卷。
# Filename: address.py.
readme = ''' 地址簿程序:可以添加、修改、删除和搜索你的联系人以及相关信息。可以保存供日后提取。
1、创建一个类表示一个人的信息。
2、使用字典储存每个人的对象,他们的名字作为键。
3、使用cPickle模块永久地存储这些对象到硬盘上。
4、使用字典内建的方法添加、删除和修改人员信息。'''
#class Person:
# name = 'test'
# num = '[email protected]'
# ab是address book的简写,为一个字典
ab = {'Eva': 'garbage',
'Woo': 'hello'
}
import pickle
f = open('ab.txt', 'w')
for name, address in ab.items():
x, y = (name, address)
f.write(x)
f.write(y)
#print('联系人:{0}, 邮件地址:{1}' .format(name, address))
f.close()
def func(op):
if op == '?':
print("请输入操作:1 = 添加; 2 = 删除; 3 = 修改;4 = 查看; 5 = 保存;6 = 退出。")
elif op == '1':
name = input('Enter a name:')
ab[name] = input('Enter his/her e-mail:')
elif op == '2':
name = input()
del ab[name]
elif op == '3':
name = input('Enter a name:')
ab[name] = input('Enter his/her e-mail:')
elif op == '4':
for name, address in ab.items():
print('联系人:{0}, 邮件地址:{1}' .format(name, address))
elif op == '5':
f.close
elif op == '6':
loop = False
else:
print("警告:您输入的选择无效!")
loop = True
while loop:
print('</----------------\>')
choice = input()
if choice == '6':
loop = False
else:
func(choice)