-
2021-11-02 08:24:48
n = [] print("欢迎使用通讯录管理系统V2.0") print("[1] 增加学员信息") print("[2] 删除学员信息") print("[3] 打印学员信息") print("[4] 退出系统") while True: #死循环 a = int(input('请输入您要进行的操作编号1~4:')) if a==1: c = int(input("请输入你的学号:")) b=input("请输入你的姓名:") d=int(input("请输入你的电话:")) s = {"code": c, "name":b , "tel": d} n.append(s) print(n) elif a==2: e = int(input("请输入你要删除的学号:")) for s in n: if s["code"] == c: n.remove(s) print("删除成功") break else: print("没有该学号的学生,删除失败!") elif a==3: for x in n: print("学号:%s\t姓名:%s\t电话:%s\n" % (x["code"], x["name"], x["tel"])) elif a == 4: print("退出成功,欢迎再次使用学生通讯管理系统v2.0") break else: print("输入错误,请重新输入编号")
使用函数实现
def menu(): print('*' * 40) print('通讯录管理系统V1.0') print('1、添加学员信息') print('2、删除学员信息') print('3、查询学员信息') print('4、退出系统') print('*' * 40) n=[] def A(): A= {} A['name'] = input('请输入学员姓名:') A['age'] = int(input('请输入学员年龄:')) A['mobile'] = input('请输入学员电话:') global n n.append(A) print('学员信息添加成功') print(n) def B(): name = input('请输入您要删除学员的姓名:') for i in n: if i['name'] == name: n.remove(i) print('学员信息删除成功') print(n) break else: print('暂未查询到您要删除的学员信息') def C(): name = input('请输入您要查询学员的姓名:') for i in n: if i['name'] == name: print(f'学员姓名:{i["name"]},学员年龄:{i["age"]},学员电话:{i["mobile"]}') break else: print('暂未查询到您要查询的学员信息') while True: menu() num = int(input('请输入您要操作的功能序号:')) if num == 1: A() elif num == 2: B() elif num == 3: C() elif num == 4: print('感谢您使用通讯录管理系统V2.0') break else: print('信息输入错误,请重新输入...')
更多相关内容 -
课程设计--Python通讯录管理系统.zip
2022-04-04 16:07:32课程设计,上台演示给老师看,完美运行,欢迎下载 -
python通讯录管理系统
2021-11-05 08:35:38print('通讯录管理系统V1.0') print('1、添加学员信息') print('2、删除学员信息') print('3、修改学员信息') print('4、查询学员信息') print('5、遍历所有学员信息') print('6、退出系统') print('-' * 40...def menu():
print('-' * 40)
print('通讯录管理系统V1.0')
print('1、添加学员信息')
print('2、删除学员信息')
print('3、修改学员信息')
print('4、查询学员信息')
print('5、遍历所有学员信息')
print('6、退出系统')
print('-' * 40)
info = []
def add_student():
info_dict = {}
info_dict['name'] = input('请输入学员姓名:')
info_dict['age'] = int(input('请输入学员年龄:'))
info_dict['mobile'] = input('请输入学员电话:')
global info
info.append(info_dict)
print('学员信息添加成功')
print(info)
def del_student():
name = input('请输入您要删除学员的姓名:')
for i in info:
if i['name'] == name:
info.remove(i)
print('学员信息删除成功')
print(info)
break
else:
print('暂未查询到您要删除的学员信息')
def modify_student():
name = input('请输入您要修改学员的姓名:')
global info
for i in info:
if i['name'] == name:
i['name'] = input('请输入修改后的姓名:')
i['age'] = input('请输入修改后的年龄:')
i['mobile'] = input('请输入修改后的电话:')
print('学员信息修改成功')
print(info)
break
else:
print('暂未查询到您要修改的学员信息')
def show_student():
name = input('请输入您要查询学员的姓名:')
for i in info:
if i['name'] == name:
print(f'学员姓名:{i["name"]},学员年龄:{i["age"]},学员电话:{i["mobile"]}')
break
else:
print('暂未查询到您要查询的学员信息')
def show_all():
for i in info:
print(f'学员姓名:{i["name"]},学员年龄:{i["age"]},学员电话:{i["mobile"]}')
while True:
menu()
user_num = int(input('请输入您要操作的功能序号:'))
if user_num == 1:
add_student()
elif user_num == 2:
del_student()
elif user_num == 3:
modify_student()
elif user_num == 4:
show_student()
elif user_num == 5:
show_all()
elif user_num == 6:
print('感谢您使用通讯录管理系统V1.0')
break
else:
print('信息输入错误,请重新输入...') -
python通讯录管理系统(期末作业)
2021-06-19 11:39:12通讯录管理系统 =======欢迎使用通讯录管理系统 1.添加 2.修改 3.册除 4.查询 5.排序 6.退出 请选择你要执行的操作的序号,具体要求: 1)通讯录要以文件的形式存储在硬盘上(比如D:\tongxunlu) ,每一条数据(联系人...通讯录管理系统
=====欢迎使用通讯录管理系统=====
1.添加
2.修改
3.册除
4.查询
5.排序
6.退出
=============================
请选择你要执行的操作的序号,具体要求:
1)通讯录要以文件的形式存储在硬盘上(比如D:\tongxunlu) ,每一条数据(联系人姓名和手机号码)存储一行,如果一个联系人有多个手机号,则都存储在同一行,即通讯录中每个联系入的数据占一行。
2)系统运行时初始菜单如上,根据用户选择的序号执行相应的操作:
添加功能:提醒角户输入姓名和手机号码,同时进行手机号码格式检查,合法则该姓名和手机号码插入到通讯录最后一行。
修改功能:根据用户指定的联系人姓名修改其手机号码,修改后保存文件。 删除功能:根据用户输人的姓名删除该条记录。
查询功能:可以根据联系人姓名查询其手机号,也可以根据手机号查询联系人姓名。 排序功能:要求用户选择按联系人姓名升序或降序,对通讯录进行排序。
退出功能:结束程序的运行。 注意:只有选择序号6(退出)时,程序的运行才会结束,否则一直循环等待用户进行增删改查操作。这里我利用openpyxl对Excel操作
源码:
from openpyxl import load_workbook fn = r'd:\tongxunlu.xlsx' # 打印操作菜单 def showMenu(): print("========欢迎使用通讯录管理系统========") print(" 1.添加") print(" 2.修改") print(" 3.删除") print(" 4.查询") print(" 5.排序") print(" 6.退出") print("==================================") # 打开文件 def openFile(): wb = load_workbook(fn) ws = wb.active return ws, wb # 判断手机号是否合法 def isLegal(s): if len(s) == 11 and s.isdigit(): return True else: return False # 添加手机号 def addData(): data = input("输入姓名和号码(空格分开):").split(" ") for i in range(len(data), 1, -1): # 从最后一个手机号开始 s = isLegal(data[i - 1]) if not s: print("手机号码必须为11位数字!") addData() else: w1, w2 = openFile() w1.append(data) print("添加成功!") w2.save(fn) # 更改手机号 def changeData(): flag = False data = input("请输入需要修改的姓名和新的手机号码(空格分开):").split(" ") if not isLegal(data[1]): print("手机号码必须为11位数字!") changeData() else: w1, w2 = openFile() for row in w1.rows: if row[0].value == data[0]: flag = True row[1].value = data[1] if not flag: print("通讯录中没有此人!") changeData() else: print("修改成功!") w2.save(fn) # 删除人 def delete(): flag = False x = 0 name = input("请输入要删除的姓名:") w1, w2 = openFile() for row in w1.rows: x += 1 if row[0].value == name: flag = True w1.delete_rows(x) if not flag: print("通讯录中没有此人!") else: print("删除成功!") w2.save(fn) # 查找手机号或者姓名 def search(): flag = False data = input("请输入姓名或手机号码:") w1, w2 = openFile() for row in w1.rows: if row[0].value == data: flag = True print(row[1].value) if row[2].value is not None: print(row[2].value) elif row[1].value == data or row[2].value == data: flag = True print(row[0].value) if not flag: print("通讯录中没有此人或手机号!") search() # 排序 def sort(): s = input("请输入正序或逆序(正序输入F,逆序输入T):") if s == "F": flag = False elif s == "T": flag = True data = [] w1, w2 = openFile() for row in w1.rows: data1 = [] for cell in row: data1.append(cell.value) data.append(data1) data.sort(key=lambda x: x[0], reverse=flag) w2.remove(w1) w1 = w2.create_sheet() for i in data: w1.append(i) w2.save(fn) # 循环函数 while True: showMenu() num = int(input("请输入操作序号:")) if num == 1: addData() elif num == 2: changeData() elif num == 3: delete() elif num == 4: search() elif num == 5: sort() elif num == 6: print("再见!") break else: print("输入的序号不在范围内!")
-
学生通讯录管理系统
2017-04-19 17:17:49C++实现学生通讯录的加载保存修改删除等功能 -
【python】利用python制作通讯录管理系统(面向过程)
2021-10-30 13:24:26管理人员档案,管理学生信息,实现录入和查找功能,方便人员管理 ...我们先打开 pycharm,新建一个python文件命名为通讯录管理系统.py 鉴于第一次编写我从后面加上了版本号alphaV1.0 我们想实现的功能是,人员的录.管理人员档案,管理学生信息,实现录入和查找功能,方便人员管理
下面就教大家如何利用python编写这一系统⬇⬇⬇
------------------------------------------------------------------------------------------
开始我们用pycharm这款软件;
我们先打开 pycharm,新建一个python文件命名为通讯录管理系统.py
鉴于第一次编写我从后面加上了版本号alphaV1.0
我们想实现的功能是,人员的录入,查看和删除
那我们先实现人员的录入;
1.录入
对于录入,在python里来讲,也就是相当于输入并保存在一个变量中
对于输入,我们可以用python中的input()函数来实现
下面我们就先定义三个变量用来保存输入的内容
code=input("请输入要录入的学生的学号:") name=input("请输入要录入的学生的姓名:") tel =input("请输入要录入的学生的电话:")
这三个变量分别保存的是要录入人员的编号,姓名和电话
我们完成三个变量的定义后我们发现,这三个变量是分散的且独立的;
一个人的信息应该是连成串的而不是散乱的,所以;
我们用python列表中“字典”功能将这三个变量或者说信息编成一条,
那么这一条就是一个人的所有信息
下面我们就去实现将三个分散的信息编成一条的个人信息
code=input("请输入要录入的学生的学号:")#单条信息 name=input("请输入要录入的学生的姓名:")#单条信息 tel =input("请输入要录入的学生的电话:")#单条信息 sdt={"学号":code,"姓名":name,"电话":tel}#串,一串一个人
这样就将三条分散的个人信息汇聚成了一条个人的信息
系统中不可能只能录入一个人,而上面只实现了一个人的信息录入并编成一串
那么我们就得不停的录入并把新录入的信息不停的变成串
这样我们就有了许多“串”,一串就是一个人的全部信息
有了许多信息串就相当于系统中录入了许多人
当串多了也就是人多了之后也需管理
所以我们将串放到列表里面就可以便于管理
毕竟后面还要实现人员的删除和查找
而列表就可以进行删除和查找
下面我们实现将串放入列表中
code=input("请输入要录入的学生的学号:") #单条信息 name=input("请输入要录入的学生的姓名:") #单条信息 tel =input("请输入要录入的学生的电话:") #单条信息 sdt={"学号":code,"姓名":name,"电话":tel} #串,一串一个人 students=[] #添加一个列表,名字是student students.append(sdt) #将串放入列表中
这样我们的众多串就被编成了列表,我们就可以利用列表来进行后面的查找和删除
我们不妨来运行一下试试
我们可以看到一个名为Jack_Qu的学生的所有信息都被录入了
可是我们输入完后信息以二进制的01010101110被保存在内存中,我们看不见,且程序就结束了
那么我们再从后面添加个python的打印函数,使刚才输入的学生的信息串显示出来
code=input("请输入要录入的学生的学号:") #单条信息 name=input("请输入要录入的学生的姓名:") #单条信息 tel =input("请输入要录入的学生的电话:") #单条信息 sdt={"学号":code,"姓名":name,"电话":tel} #串,一串一个人 students=[] #添加一个列表,名字是student students.append(sdt) #将串放入列表中 print(sdt) #将刚刚输入并被编成串的信息打印(显示)在屏幕上
我们在派酱里实现一下
雀食,我们刚刚录入的人员信息显示了出来,然后程序结束
这样,我们的录入系统就完成了90%
剩下的10%呢?
我们观察上面程序的执行情况,我们只录入了一个学生的信息,录入完成后,程序自动结束了
也就是说这个程序现在就只能录入一个人,关闭程序录入的信息就被删除
那我想在录入后还能不断录入呢?如何实现?
其实,我们只要在整个程序前添加一个循环就行,当计算机运行完所有行代码不结束重新在前面
添加的循环处继续运行,只要我们不人为从外部关闭程序或从内部关闭程序
这个程序就一直运行下去
不会出现录入完一个人就结束的情况
下面我们为我们的这个程序添加一个无限的循环
students=[] #添加一个列表,名字是student while True: code=input("请输入要录入的学生的学号:") #单条信息 name=input("请输入要录入的学生的姓名:") #单条信息 tel =input("请输入要录入的学生的电话:") #单条信息 sdt={"学号":code,"姓名":name,"电话":tel} #串,一串一个人 students.append(sdt) #将串放入列表中 print(sdt) #将刚刚输入并被编成串的信息打印(显示)在屏幕上
我们添加一个while True循环,只要程序不报错就会一直在循环处一遍一遍的跑代码
我们还注意到一件事,我将添加列表从下面的循环移了出去,如果我们不移出去,那么
程序就会在每一次循环中创建一个叫students的列表两个列表同名肯定会报错,程序也就终止不能运行下去了
下面我们再次请出我们kirakira☆~派酱!运行一下代码
ohhhhhhhh!我们可以发现我们录完Jack_Qu这个同学后系统没有结束,而是从录入又开始运行
这样我们就可以录入好多好多人了😇
至此我们的录入系统就算初步完成了🎉
2.查找
我们编写完了录入
接下来就是查找功能的编写
不过在这里我们发现了一个问题
上面的录入一直在运行
我们如果想要查找怎么办?
两个功能会冲突也说不一定
这是两个不同的功能
所以,我们想了个方法
将上面的录入和我们即将要写的查找功能分开
当我们想运行查找功能时计算机就运行查找功能
当我们想运行录入功能时就运行录入功能
说干就干,将两个功能分开我们可以用类似应用app的思路
当我们输入编号对应的功能时
程序就能进入相应的功能来完成操作
这样我们将录入编为功能1
将查找编为功能2
将删除编为功能3
并且我们再写一个简陋的系统界面
输入数字就能执行相应的功能我们用if()函数来实现
下面我们来试编写一下
print("----------------------------")#人性化界面 print("欢迎使用通讯录管理系用V1.0") print("[1]增加学员信息") print("[2]删除学员信息") print("[3]显示学员信息") print("[4]退出系统") print("----------------------------") students=[] #添加一个列表,名字是student while True: n=int(input("请输入你想执行的功能:"))#功能选择 if n==1 : #录入功能 code=input("请输入要录入的学生的学号:") #单条信息 name=input("请输入要录入的学生的姓名:") #单条信息 tel =input("请输入要录入的学生的电话:") #单条信息 sdt={"学号":code,"姓名":name,"电话":tel} #串,一串一个人 students.append(sdt) #将串放入列表中 print(sdt) #将刚刚输入并被编成串的信息打印(显示)在屏幕上 if n==2 #查找功能
我们再用派酱运行一下
我们可以看到系统要你输入你想实现的功能了
录入和查找分开后我们就能开始编写查找了
查找功能的实现我们可以利用for in的循环遍历
来查找我们想找的信息
首先我们写一个输入输入我们想查找人员的信息,这里我们最好用学号来查找人员,因为我们
不敢保证系统里没有重名者
然后用for in 遍历
elif n == 2 : # 打开查找功能 h = int(input("请输入你想现实的学员的学号:")) # 温馨提示语 for t in students: # 在大列表students中遍历所有t字典 if t["学号"] == h: # 如果遍历的所有字典串中有学号等于输入的数字 print("学号:%s \t姓名:%s \t电话:%s" % (t["学号"], t["姓名"],t["电话"])) '''最后格式化输出'''
然后我们用格式化输出
这样,我们就完成了查找功能
下面我们再次打开派酱运行下,这次我们和上面录入一起运行,有前后顺序
1.运行
2.录入
3.查找
ok,三个功能我们已经实现了两个
最后一个内容是删除
3.删除
同样,我们先定义删除选项是3
然后我们可以学习查找过程,先查找,后删除
我们可以这样写
elif n == 3 : # 打开删除功能 n = int(input("请输入你想现实的学员的学号:")) # 温馨提示语 for i in students: # 在大列表students中遍历所有t字典 if i["学号"] == n: # 如果遍历的所有字典串中有学号等于输入的数字 students.remove(i) print("删除成功")
这样我们就可以成功删除
最后
我们再实现一个功能,那就是退出程序
我们把退出功能绑定为4
要实现我们只要用一个breakjiuxingl
if n==4: print("感谢您使用学生信息查询系统") break#退出
ok,到这里我们的通讯录管理系统也做得差不多了,当然也可以细化一下,或者添加一些新东西
希望我的学习经验和思路能帮助更多的人,
谢谢。10.30.17:04
完整代码:
print("----------------------------")#人性化界面 print("欢迎使用通讯录管理系用V1.0") print("[1]增加学员信息") print("[2]删除学员信息") print("[3]显示学员信息") print("[4]退出系统") print("----------------------------") students=[] #添加一个列表,名字是student while True: n=int(input("请输入你想执行的功能:"))#功能选择 if n==1: #打开录入功能 code=int(input("请输入要录入的学生的学号:")) #单条信息 name=input("请输入要录入的学生的姓名:") #单条信息 tel =input("请输入要录入的学生的电话:") #单条信息 sdt={"学号":code,"姓名":name,"电话":tel} #串,一串一个人 students.append(sdt) #将串放入列表中 print(sdt) #将刚刚输入并被编成串的信息打印(显示)在屏幕上 if n == 2 : # 打开查找功能 h = int(input("请输入你想现实的学员的学号:")) # 温馨提示语 for t in students: # 在大列表students中遍历所有t字典 if t["学号"] == h: # 如果遍历的所有字典串中有学号等于输入的数字 print("学号:%s \t姓名:%s \t电话:%s" % (t["学号"], t["姓名"],t["电话"])) # 打印展示该列表中的字典 if n == 3: # 打开删除功能 n = int(input("请输入你想现实的学员的学号:")) # 温馨提示语 for i in students: # 在大列表students中遍历所有t字典 if i["学号"] == n: # 如果遍历的所有字典串中有学号等于输入的数字 students.remove(i) print("删除成功") if n== 4: print("退出成功,感谢您使用通讯录系统") break
-
Python实现通讯录功能
2020-12-23 22:06:38说实话,第一次写这么长的Python代码,期间遇到了很多问题,但是,最终还是完成了,花了我一天半的时间。 该程序实现了用户的增,删,改,查,主要用到sqlite3模块。对于该模块的知识点,请查看我的另一篇文章SQLite... -
Python 实训3 简单的好友通讯录管理程序
2020-12-21 22:09:28答案源码: address_book = { '小明':['001','广州'], '小红':['002','深圳'], '小王':['003','北京'] } tip = """ 添加好友请输入1 删除好友请输入2 修改好友信息请输入3 查询好友信息请输入4 ... -
python实现简易学生信息管理系统
2020-09-18 15:46:13主要为大家详细介绍了python实现简易学生信息管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 -
python简单通讯录程序
2018-04-17 18:06:08用python编写,实现简单的通讯录功能,如:新建、删除、修改、查询、显示所有用户等,比较适合初学者(本程序在python2.7运行成功,且解决cmd中文乱码情况),如有问题可共同讨论。 -
python实现通讯录管理系统.zip
2021-12-14 20:39:31自己学习python的时候写的python实现通讯录管理系统.zip -
【python】利用python制作通讯录管理系统(面向对象)
2021-12-20 08:51:13我们的main.py文件,也就是我们的主函数 ... print('通讯录管理系统V1.0') print('1、添加学员信息') print('2、删除学员信息') print('3、打印学员信息') print('4、退出系统') print('-' *... -
Python学生通讯录管理系统案例(文件版)
2022-03-16 12:40:331.打印输出学生通讯录管理系统的菜单 2.接收用户从键盘输入的选择序号 3.根据输入的选择序号,判断并执行不同的功能 注意:本例中,要想保存所以学生的通讯信息,需要用到字典。 1.打印输出学生通讯录管理... -
Python学生通讯录管理系统(面向对象)
2021-07-29 14:38:51[] @staticmethod def menu(): Menu = """ ====================bigdata学生通讯录管理系统-V2.0==================== [1].添加学生信息 [2].删除学生信息 [3].修改学生信息 [4].获取学生信息 [5].保存学生信息 [0].... -
python基础项目实践之学生通讯录管理系统1.0
2022-06-06 21:56:58python基础项目实践之学生通讯录管理系统1.0 主要是为了锻炼学生对集合和列表的应用以及python死循环的应用与退出 -
同学通讯录管理程序(内附设计报告)
2017-05-25 19:00:13实现对学生信息(学号、姓名、系别、邮箱、电话)的添加、显示、选中修改、删除、并保存为文件的功能。代码运行无误,内附设计报告,可帮助理解代码。获得优秀课程设计。 -
教你如何用python实现学生通讯录管理系统
2021-04-27 11:29:45导读这篇文章主要为大家详细介绍了python实现学生通讯录管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下本文实例为大家分享了python实现学生通讯录管理系统的具体代码,供... -
6.案例-通讯录管理系统
2021-01-13 18:36:05#include#includeusing namespace std;#define MAX 1000//最多存储个数//个人属性struct Person{string n_Name;int m_Sex;int m_Age;...//通讯录属性struct Addressbooks{Person personArray[MAX];int ... -
Python编程好友通讯录管理程序
2022-01-06 10:30:40简单的好友通讯录管理程序,实训内容如下: (1)创建字典对象保存已有的好友通讯信息。 (2)使用input函数提示用户选择操作方式。 (3)使用字符串方法split函数将字符串按传入的分隔符进行拆分。 (4)使用if-... -
用Python列表和字典完成一个简单的通讯录管理器
2020-12-21 07:28:05通讯录管理器是一款生活实用软件,用来协助管理手机中的所有联系人。这个案例要求使用函数完成通讯录中联系人数据的增删改查等各种功能。根据键盘的输入来选择对应的函数要完成的功能。 2.实验步骤 (1)实现显示... -
python实现学生信息管理系统
2020-12-24 21:16:40继上篇博客Python实现简易通讯录后,我就想写一个复杂点的学生信息管理系统,这次实现的功能有 1.学生信息的录入管理; 2.学生选课操作; 3.学生选课情况查询; 这次仍然用到sqlite3模块。虽然看着挺简单,... -
通讯录管理系统的设计与实现
2020-11-29 12:41:34//实现通讯录结点的输出*/LinkList CreateList(void) //尾插法建立带头结点的通讯录链表算法{LinkList head=(ListNode *)malloc(sizeof(ListNode)); //申请头结点ListNode *p,*rear;char flag='y'; //结束标志置... -
python通讯录管理系统2.0
2021-12-20 11:22:29print(a) saveStudents(a) 最后,在main中,引用以上函数 import StudentEntity from DataAccess import* students=[] def menu(): print('-' * 40) print("欢迎使用学生通讯管理系统v2.0") print("[1] 增加学员信息... -
基于python的智能联系人管理系统.rar
2021-09-09 15:28:42基于python的智能联系人管理系统.rar -
Python 实现一个通讯录的管理系统
2021-06-17 17:00:34利用函数实现通讯录管理系统,通讯录的内容包含姓名、联系方式、微信号、电子邮箱等需要保存的信息。至少要包含姓名和联系方式两种。管理系统的功能包括信息的添加、删除、修改、查询、显示、保存的功能。 二.项目... -
python学习大作业联系人管理系统 GUI版.zip
2021-01-24 22:15:17设计“通讯录管理系统”使其具有数据插入、修改、删除、显示和查询等功能。 数据包括人名、工作单位、电话号码和E-mail地址可对记录中的姓名和电话号码进行修改、可增加或删除记录、可显示所有保存的记录、可按人名...