python写一个学生信息管理通讯录,功能增加,删除,查询,退出
发布日期:2021-06-29 14:38:33 浏览次数:3 分类:技术文章

本文共 2773 字,大约阅读时间需要 9 分钟。

川川在上次的代码有了一些改进,这是基于上一次的代码改进而来,需要建立一个addressbook.txt文档,别的没啥,代码解析我写在注释了,还有别的问题可以留言或者加我扣扣群吧:970353786(哈哈,别加我扣扣了,人太多了)

#登录引导界面txt =\'''1. 添加学生信息2. 删除学生信息3. 查询学生信息4. 退出系统'''#检测路径下是否存在通讯录文件,如果没有则建立文件import os.pathis_exist = os.path.isfile('addressbook.txt')    #添加联系人def add():    print('添加学生信息')   #引导添加    print('姓名: ', end = '')    Name = input()      #输入名字    print('性别: ', end = '')    Sex = input()       #输入性别    print('学号: ', end = '')    studentNumber = input()    #输入学号    #将通讯录追加到文件末端    Contacts_file = open('addressbook.txt','a')    Contacts_file.write(Name+'\t\t\t'+Sex+'\t\t\t'+studentNumber+'\n')     #在文件中以名字,性别,学号格式排列,最后一个学号就直接换行准备下一个    Contacts_file.close()   #文件写好后就关闭    print("添加信息成功,已经保存在文档,请前去查看"+'\n')#删除通讯录中的信息def delete():    print('请输入你要删除的学生名字: ', end = '')    name = input()  #输入需要删除的学生名字    Contacts_file = open('addressbook.txt', 'r')   #打开文档    Contacts_list = []    #将通讯录缓存到列表内,遇到需要删除的通讯录条目则跳过    for line in Contacts_file.readlines():        if line.find(name) != -1:            continue        Contacts_list.append(line)    #将通讯录清空,将缓存在列表中的通讯录信息加载进文件内    Contacts_file = open('addressbook.txt', 'w')    for i in range(0, len(Contacts_list)):        Contacts_file.write(Contacts_list[i])    Contacts_file.close()    print("该学生信息已经删除,具体可以对照文档查看"+'\n')#搜索通讯录def search():    print('请输入你要查询的人的名字: ',end = '')    Search_name = input()    Contacts_file = open('addressbook.txt','r')    #打开通讯录文档    for line in Contacts_file.readlines():        String = line        find = String.find(Search_name)        if find !=-1 :            print("此人信息为:")            print("姓名:"+'\t\t'+'性别:'+'\t\t'+'学号:')            print(line)            break    #若搜索不到,返回Not Found!    if find == -1:        print('此人信息不存在')    Contacts_file.close()class InputError(Exception):    '''当输出有误时,抛出此异常'''    #自定义异常类型的初始化    def __init__(self, value):        self.value = value    # 返回异常类对象的说明信息    def __str__(self):        return ("{} is invalid input".format(repr(self.value)))#主函数def main():    while True:  # 如果为真        # try:        print("欢迎光临学生管理系统,请选择功能对应的数字执行操作:")  # 引导选择        print(txt)  # 打印引导界面        choice = int(input())  # 输入序号选择        try:            if type(choice) != int:                raise main()        except Exception as e:            print("输入数字类型错误,请重新输入功能对应的数字")        # 输入错误序号则重启程序,异常处理        if choice not in [1, 2, 3, 4]:  # 不在这4个序号里            print('错误选择')  # 打印错误选择            main()  # 重新开始            break        # 输入正确序号执行相应程序        elif choice == 1:  # 选择序号为1            add()  # 添加联系人函数启动        elif choice == 2:  # 选择序号为2            delete()  # 删除联系人函数启动        elif choice == 3:  # 选择序号为3            search()  # 查询联系人函数启动        elif choice == 4:  # 如果选择序号为5            break  # 结束执行if __name__ == '__main__':    main()

运行效果:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

转载地址:https://chuanchuan.blog.csdn.net/article/details/112267290 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:打包py文件为exe应用详细讲解
下一篇:初学java的运行坑,代码没问题,还是报错

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月09日 17时39分39秒