管理人员档案,管理学生信息,实现录入查找功能,方便人员管理

下面就教大家如何利用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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐