建设网站是主营成本吗,建站推广,白银市城县建设局网站,家装博览会一个简单的通讯录例子
#!/usr/bin/python
__author__ fierce
#coding:utf-8
import os #引用os模块
import pickle #应用pickle模块
Path/home/Person.data #全局变量#xff0c;这里是通讯录物理路径
#判断通讯录是否存在#xff0c;不存在则创建空通讯录
if os.path.exist…一个简单的通讯录例子
#!/usr/bin/python
__author__ fierce
#coding:utf-8
import os #引用os模块
import pickle #应用pickle模块
Path/home/Person.data #全局变量这里是通讯录物理路径
#判断通讯录是否存在不存在则创建空通讯录
if os.path.exists(Path) False: #判断通讯录是否存在
fopen((Path),wb) #以二进制写模式打开通讯录
temp{total: 0} #局部变量,用于计算通讯录的人数
pickle.dump(temp,f) #将对象temp保存到f中
f.close() #关闭f
else:
pass #空函数
#添加联系人
def add(): #自定义添加函数
fopen((Path),rb) #以二进制读模式打开通讯录
apickle.load(f) #从f中读取信息为数组的形式
f.close #关闭f
b0 #自定义局部变量
name input(请输入要添加联系人的姓名:) #获取输入这里是姓名
for key in a.keys(): #循环key为自定义a.keys()为从通讯录读出来所有key
b1 #自定义变量自增
if keyname and b a[total]1: #判断,满足条件执行
print(联系人已存在添加失败)
break #跳出循环
if ba[total]1 and key ! name: #判断满足条件执行
number input(请输入号码:) #获取输入
information{name : number} #附值
a[total]1 #total1
a.update(information) #更新a对象
fopen((Path),wb) #以二进制写模式打开通讯录
pickle.dump(a,f) #把a对象写入f
f.close() #关闭f
print(添加成功)
break #跳出循环
#显示所有联系人
def showall():
f open((Path),rb)
apickle.load(f)
print(一共有{}个联系人..format(a[total]))
for key in a.keys():
if key ! total:
print({}:{}.format(key,a[key]))
f.close
#推出通讯录
def exit():
exec(quit())
#查找
def search(name):
f open((Path),rb)
apickle.load(f)
b0
for key in a.keys():
b1
if keyname and ba[total]1:
print({}的号码是{}.format(name,a[key]))
break
if ba[total]1 and key ! name:
print(联系人不存在)
break
#删除
def deleate(name):
fopen((Path),rb)
apickle.load(f)
f.close()
b0
for key in a.keys():
b1
if keyname and ba[total]1:
a.pop(name)
a[total]-1
fopen((Path),wb)
pickle.dump(a,f)
f.close()
print(删除成功)
break
if ba[total]1 and key ! name:
print(联系人不存在无法删除)
break
#修改
def change():
xinput(请输入所要修改的联系人姓名)
fopen((Path),rb)
apickle.load(f)
f.close()
b0
for key in a.keys():
b1
if keyx and ba[total]1:
yinput(请输入修改后的号码:)
a[key]y
fopen((Path),wb)
pickle.dump(a,f)
f.close()
print(修改成功)
break
if ba[total]1 and key ! name:
print(联系人不存在)
break
#界面
def point():
print(*****************************)
print(显示提示信息:*)
print(显示所有联系人:0)
print(查找联系人:1)
print(添加联系人:2)
print(删除联系人:3)
print(更改联系人资料:4)
print(退出通讯录:5)
print(*****************************)
point()
#主进程
while True: #循环
xinput(请输入您的选择:) #获取输入
if x 2: #判断输入
add() #调用添加函数
continue #结束本次循环重新开始下一轮循环
if x 0:
showall() #调用显示全部函数
continue #结束本次循环重新开始下一轮循环
if x 5:
exit() #调用推出函数
continue #结束本次循环重新开始下一轮循环
if x 1:
name input(请输入所要查找的联系人姓名:)
search(name) #调用查找函数需要传一个参数姓名
continue #结束本次循环重新开始下一轮循环
if x 3:
name input(请输入所要删除的联系人姓名:)
deleate(name) #调用删除函数需要传一个参数姓名
continue #结束本次循环重新开始下一轮循环
if x 4:
change() #调用修改函数
continue #结束本次循环重新开始下一轮循环
if x *:
point()
else:
print(输入选项不存在请重新输入)
continue #结束本次循环重新开始下一轮循环