【python】利用python制作通讯录管理系统(面向过程)
管理人员档案,管理学生信息,实现录入和查找功能,方便人员管理下面就教大家如何利用python编写这一系统⬇⬇⬇------------------------------------------------------------------------------------------开始我们用pycharm这款软件;我们先打开 pycharm,新建一个python文件命名为通讯录管理系统.p
管理人员档案,管理学生信息,实现录入和查找功能,方便人员管理
下面就教大家如何利用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
更多推荐
所有评论(0)