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(
  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值