python 实现通讯录管理系统源代码( 面向过程,有文件输入输出) 无需下载额外的组包

此程序包含 main() ;meau(); read();write();fwrite();insert();delete();
seach();modify();showall();共计10个程序模块
共有6个功能可选择
‘’’

运行菜单

def menu():
print(" -----------------------------通讯录管理系统----------------------------\n",
“| 1. 信息录入 |\n”,
“| 2. 信息删除 |\n”,
“| 3. 信息查询 |\n”,
“| 4. 信息修改 |\n”,
“| 5. 显示所有信息 |\n”,
“| 0. 退出系统 |\n”,
" -------------------------说明:通过数字键选择菜单------------------------")

主程序

def main():
exit = True # 标记是否退出
while (exit):
menu() # 显示菜单
option = input(“请根据功能填写相应数字:”) # 选择序号进行
if option in [‘0’, ‘1’, ‘2’, ‘3’, ‘4’,‘5’]:
option_int = int(option)
if option_int == 0:
print(“你已退出该系统”)
exit = False
elif option_int == 1:
insert()
elif option_int == 2:
delete()
elif option_int == 3:
seach()
elif option_int == 4:
modify()
elif option_int == 5:
showall()

读入文件内容 子程序

def read():
global rfile,rfile1
refile=[]
f=open(“E:\桌面\通讯录管理系统\通讯录.txt”, “r”)
rfile1 = f.readlines()

追加写入文件内容 子程序

def write(wfile):
f=open(“E:\桌面\通讯录管理系统\通讯录.txt”, “a”)
for i in wfile:
f.write(i)
f.close()
#wfile为程序输出

覆盖写入文件内容子程序

def fwrite(fwrite):
f = open(“E:\桌面\通讯录管理系统\通讯录.txt”, “w”)
for i in fwrite:
f.write(i)
f.close()

1 信息录入 子程序

def insert():
studentlist = []
mark = True
while mark:
name = input(“请输入您的中文名字:”)
for i in name:
if i <= u’\u4e00’ or i >= u’\u9fff’:
print(“!!!输入有误!!!”)
print(“请输入正确的中文名字”)
insert()
sex = input(“请输入你的性别(男/女):”)
if sex not in [‘男’,‘女’]:
print(“请注意输入性别有误!!!”)
sex = input(“请输入你的性别(男/女):”)
if sex not in [‘男’, ‘女’]:
break
pn = input(“请输入你的电话号码:”)
if int(len(pn))!=11:
print(“请注意输入号码位数有误!!!”)
pn = input(“请输入你的电话号码:”)
if int(len(pn))!= 11:
break
site = input(“请输入你现居住地址(精确到市即可):”)
if site==‘’:
print(“无输入则默认:河南省驻马店市”)
site = “河南省驻马店市”
studentlist.append(“{}-{}-{}-{}”.format(name,sex,pn,site)+‘\n’)
print(studentlist)
write(studentlist)
print(“信息录入完毕”)
inputmark = input(“是否继续添加(不添加请输入n,继续添加输入任意字符):”)
if inputmark == “n”:
mark = False
else:
print(mark)
insert()

2 信息删除 子程序

def delete():
aaa=True
list = []
read()
dname=input(“请输入需要删除信息人的姓名:”)
for i in dname:
if i <= u’\u4e00’ or i >= u’\u9fff’:
print(“!!!输入有误!!!”)
print(“请输入正确的中文名字”)
for ii in rfile1:
list1 = ii.split(‘-’)
if list1[0]==dname:
aaa=False
continue
list.append(ii)
fwrite(list)
if aaa:
print(‘!!!查无此人!!!’)
else:
print(“!!!删除完成!!!”)

3 信息查询 子程序

def seach():
aa=True
read()
dname = input(“请输入需要查找信息人的姓名:”)
for i in dname:
if i <= u’\u4e00’ or i >= u’\u9fff’:
print(“!!!输入有误!!!”)
print(“请输入正确的中文名字”)
for ii in rfile1:
list1= ii.split(‘-’)
if list1[0] == dname:
print(‘\n’)
print(list1)
print(‘\n\n’)
aa=False
if aa:
print(" 查无此人!!!")

4 信息修改 子程序

def modify():
bb = True
list = []
read()
dname = input(“请输入需要修改信息人的姓名:”)
for i in dname:
if i <= u’\u4e00’ or i >= u’\u9fff’:
print(“!!!输入有误!!!”)
print(“请输入正确的中文名字”)
for ii in rfile1:
list1 = ii.split(‘-’)
…%此处代码过长请看下面源代码。
print(“无输入则默认:河南省驻马店市”)
rsite = “河南省驻马店市”
studentlist.append(“{}-{}-{}-{}”.format(rname, rsex, rpn, rsite))
print(studentlist)
write(studentlist)
else:
bb=False
print(“无效选项,请重新选择”)
if bb:
print(’ 修改成功,结果如上!')

5 显示全部信息 子程序

def showall():
n=0
read()
for i in rfile1:
n+=1
print(i.strip(‘\n’))
print(“\n 通讯录内共有{}人\n”.format(n))

#调用主函数 防止被误用
if name == “main”:
main()

****源代码如下

'''
此程序包含 main() ;meau(); read();write();fwrite();insert();delete();
seach();modify();showall();共计10个小程序
'''

#运行菜单
def menu():
    print("  -----------------------------通讯录管理系统----------------------------\n",
          "|                            1.  信息录入                              |\n",
          "|                            2.  信息删除                              |\n",
          "|                            3.  信息查询                              |\n",
          "|                            4.  信息修改                              |\n",
          "|                            5. 显示所有信息                            |\n",
          "|                            0.  退出系统                              |\n",
          " -------------------------说明:通过数字键选择菜单------------------------")

#主程序
def main():
    exit = True  # 标记是否退出
    while (exit):
        menu()  # 显示菜单
        option = input("请根据功能填写相应数字:")  # 选择序号进行
        if option in ['0', '1', '2', '3', '4','5']:
            option_int = int(option)
            if option_int == 0:
                print("你已退出该系统")
                exit = False
            elif option_int == 1:
                insert()
            elif option_int == 2:
                delete()
            elif option_int == 3:
                seach()
            elif option_int == 4:
                modify()
            elif option_int == 5:
                showall()

### 读入文件内容 子程序
def read():
    global rfile,rfile1
    refile=[]
    f=open("E:\桌面\通讯录管理系统\通讯录.txt", "r")
    rfile1 = f.readlines()

    #rfile为程序输出


###追加写入文件内容  子程序
def write(wfile):
    f=open("E:\桌面\通讯录管理系统\通讯录.txt", "a")
    for i in wfile:
        f.write(i)
    f.close()
    #wfile为程序输出


###追加写入
def fwrite(fwrite):
    f = open("E:\桌面\通讯录管理系统\通讯录.txt", "w")
    for i in fwrite:
        f.write(i)
    f.close()


# 1 信息录入  子程序
def insert():
    studentlist = []
    mark = True
    while mark:
        name = input("请输入您的中文名字:")
        for i in name:
            if i <= u'\u4e00' or i >= u'\u9fff':
                print("!!!输入有误!!!")
                print("请输入正确的中文名字")
                insert()
        sex = input("请输入你的性别(男/女):")
        if sex not in ['男','女']:
            print("请注意输入性别有误!!!")
            sex = input("请输入你的性别(男/女):")
            if sex not in ['男', '女']:
                break
        pn = input("请输入你的电话号码:")
        if int(len(pn))!=11:
            print("请注意输入号码位数有误!!!")
            pn = input("请输入你的电话号码:")
            if int(len(pn))!= 11:
                break
        site = input("请输入你现居住地址(精确到市即可):")
        if site=='':
            print("无输入则默认:河南省驻马店市")
            site = "河南省驻马店市"

        studentlist.append("{}-{}-{}-{}".format(name,sex,pn,site)+'\n')
        print(studentlist)
        write(studentlist)

        print("信息录入完毕")
        inputmark = input("是否继续添加(不添加请输入n,继续添加输入任意字符):")
        if inputmark == "n":
            mark = False
        else:
            print(mark)
            insert()


# 2  信息删除  子程序
def delete():
    aaa=True
    list = []
    read()
    dname=input("请输入需要删除信息人的姓名:")
    for i in dname:
        if i <= u'\u4e00' or i >= u'\u9fff':
            print("!!!输入有误!!!")
            print("请输入正确的中文名字")
    for ii in rfile1:
        list1 = ii.split('-')
        if list1[0]==dname:
            aaa=False
            continue
        list.append(ii)
    fwrite(list)
    if aaa:
        print('!!!查无此人!!!')
    else:
        print("!!!删除完成!!!")


# 3 信息查询  子程序
def seach():
    aa=True
    read()
    dname = input("请输入需要查找信息人的姓名:")
    for i in dname:
        if i <= u'\u4e00' or i >= u'\u9fff':
            print("!!!输入有误!!!")
            print("请输入正确的中文名字")
    for ii in rfile1:
        list1= ii.split('-')
        if list1[0] == dname:
            print('\n')
            print(list1)
            print('\n\n')
            aa=False
    if aa:
        print(" 查无此人!!!")


# 4 信息修改  子程序
def modify():
    bb = True
    list = []
    read()
    dname = input("请输入需要修改信息人的姓名:")
    for i in dname:
        if i <= u'\u4e00' or i >= u'\u9fff':
            print("!!!输入有误!!!")
            print("请输入正确的中文名字")
    for ii in rfile1:
        list1 = ii.split('-')
        if list1[0] == dname:
            rname=dname
            rsex=list1[1]
            rpn=list1[2]
            rsite=list1[3]

            continue
        list.append(ii)
    fwrite(list)
    studentlist = []
    print('1.姓名\n2.性别\n3.电话号码\n4.家庭住址')
    slt=int(input('请输入需要修改的内容(数字键选择):'))
    if 4>=slt>=1:
        if slt==1:
            rname = input("请输入需要修改的中文名字:")
            for i in rname:
                if i <= u'\u4e00' or i >= u'\u9fff':
                    print("!!!输入有误!!!")
                    print("请输入正确改的中文名字")
                    rname = input("请输入需要修改的中文名字:")
        elif slt==2:
            rsex = input("请输入需要修改的性别(男/女):")
            if rsex not in ['男', '女']:
                print("请注意输入性别有误!!!")
                rsex = input("请输入需要修改的性别(男/女):")
                if rsex not in ['男', '女']:
                    mark = False
        elif slt==3:
            rpn = input("请输入需要修改的电话号码:")
            if int(len(rpn)) != 11:
                print("请注意输入号码位数有误!!!")
                pn = input("请输入需要修改的电话号码:")
                if int(len(rpn)) != 11:
                    mark = False
        else :
            rsite = input("请输入需要修改的现居住地址(精确到市即可):")
            if rsite == '':
                print("无输入则默认:河南省驻马店市")
                rsite = "河南省驻马店市"
        studentlist.append("{}-{}-{}-{}".format(rname, rsex, rpn, rsite))
        print(studentlist)
        write(studentlist)
    else:
        bb=False
        print("无效选项,请重新选择")
    if bb:
        print(' 修改成功,结果如上!')


# 5 显示全部信息 子程序
def showall():
    n=0
    read()
    for i in rfile1:
        n+=1
        print(i.strip('\n'))
    print("\n       通讯录内共有{}人\n".format(n))


#调用主函数 防止被误用
if __name__ == "__main__":
    main()

有用的话请点个赞,运行出问题的话可以加qq:2071516189

你可能感兴趣的:(python,开发语言,数据库架构)