玩蛇网提供最新Python编程技术信息以及Python资源下载!

python面向过程的简单通讯录示例

python 培训

初学python的练手作品。python面向过程的简单通讯录,希望大家多多指点,让我更进步。

下面是我的思路:
判断通讯录是否存在,不存在则创建空通讯录
添加联系人
显示所有联系人
退出通讯录

#!/usr/bin/python

import os
import pickle


if os.path.exists(r'E:\Person.data')==False:
    f=open('E:\Person.data','wb')
    temp={'total' : 0}
    pickle.dump(temp,f)
    f.close()
else:
    pass


def add():
    f=open('E:\Person.data','rb')
    a=pickle.load(f)
    f.close()
    b=0
    name = input('请输入所要添加联系人的姓名:')
    for key in a.keys():
        b+=1
        if key==name and b <= a['total']+1:
            print("联系人已存在,添加失败!")
            break
        if b==a['total']+1 and key != name:        
            number = input('请输入号码:')
            information={name : number}
            a['total']+=1
            a.update(information)
            f=open('E:\Person.data','wb')
            pickle.dump(a,f)
            f.close()
            print('添加成功!')
            break

def showall():
    f=open('E:\Person.data','rb')
    a=pickle.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('E:\Person.data','rb')
    a=pickle.load(f)
    b=0
    for key in a.keys():
        b+=1
        if key==name and b<=a['total']+1:
            print("{}的号码是: {}".format(name,a[key]))
            break
        if b==a['total']+1 and key != name:
            print("联系人不存在!")
            break
    f.close()
#删除
def deleate(name):
    f=open('E:\Person.data','rb')
    a=pickle.load(f)
    f.close()
    b=0
    for key in a.keys():
        b+=1
        if key==name and b<=a['total']+1:
            a.pop(name)
            a['total']-=1
            f=open('E:\Person.data','wb')
            pickle.dump(a,f)
            f.close()
            print("删除成功!")
            break
        if b==a['total']+1 and key != name:
            print("联系人不存在!无法删除!")
            break
#修改
def change ():
    x=input("请输入所要修改联系人姓名:")
    f=open('E:\Person.data','rb')
    a=pickle.load(f)
    f.close()
    b=0
    for key in a.keys():
        b+=1
        if key==x and b<=a['total']+1:
            y=input("请输入修后的号码:")
            a[key]=y
            f=open('E:\Person.data','wb')
            pickle.dump(a,f)
            f.close()
            print("修改成功!")
            break
        if b==a['total']+1 and key != name:
            print("联系人不存在!")
            break

#界面www.iplaypython.com
def point ():
    print("*******************************")
    print("显示提示信息:*")
    print("显示所有联系人:0")
    print("查找联系人:1")
    print("添加联系人:2")
    print("删除联系人:3")
    print("更改联系人资料:4")
    print("退出通讯录:5")
    print("*******************************")
#主程序
point()
while True:
    x=input("请输入您的选择:")
    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

玩蛇网原创,转载请注明文章出处和来源网址:http://www.iplaypython.com/code/other/o2288.html



微信公众号搜索"玩蛇网Python之家"加关注,每日最新的Python资讯、图文视频教程可以让你一手全掌握。强烈推荐关注!

微信扫描下图可直接关注

玩蛇网Python新手QQ群,欢迎加入: ① 240764603 玩蛇网Python新手群
文章发布日期:2016-04-21 16:00 玩蛇网 www.iplaypython.com

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
相关文章推荐
别人正在看
特别推荐
去顶部去底部