python写一个学生信息管理通讯录,功能增加,删除,查询,退出

简介: python写一个学生信息管理通讯录,功能增加,删除,查询,退出

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

#登录引导界面
txt =\
'''
1. 添加学生信息
2. 删除学生信息
3. 查询学生信息
4. 退出系统
'''
#检测路径下是否存在通讯录文件,如果没有则建立文件
import os.path
is_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()

运行效果:

1.png

1.png

1.png

相关文章
|
13天前
|
开发框架 数据建模 中间件
Python中的装饰器:简化代码,增强功能
在Python的世界里,装饰器是那些静悄悄的幕后英雄。它们不张扬,却能默默地为函数或类增添强大的功能。本文将带你了解装饰器的魅力所在,从基础概念到实际应用,我们一步步揭开装饰器的神秘面纱。准备好了吗?让我们开始这段简洁而富有启发性的旅程吧!
24 6
|
23天前
|
IDE 数据挖掘 开发工具
Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
35 7
|
26天前
|
存储 缓存 测试技术
Python中的装饰器:功能增强与代码复用的利器
在Python编程中,装饰器是一种强大而灵活的工具,它允许开发者以简洁优雅的方式增强函数或方法的功能。本文将深入探讨装饰器的定义、工作原理、应用场景以及如何自定义装饰器。通过实例演示,我们将展示装饰器如何在不修改原有代码的基础上添加新的行为,从而提高代码的可读性、可维护性和复用性。此外,我们还将讨论装饰器在实际应用中的一些最佳实践和潜在陷阱。
|
15天前
|
测试技术 Python
探索Python中的装饰器:简化代码,增强功能
在Python的世界中,装饰器是那些能够为我们的代码增添魔力的小精灵。它们不仅让代码看起来更加优雅,还能在不改变原有函数定义的情况下,增加额外的功能。本文将通过生动的例子和易于理解的语言,带你领略装饰器的奥秘,从基础概念到实际应用,一起开启Python装饰器的奇妙旅程。
31 11
|
10天前
|
Python
探索Python中的装饰器:简化代码,增强功能
在Python的世界里,装饰器就像是给函数穿上了一件神奇的外套,让它们拥有了超能力。本文将通过浅显易懂的语言和生动的比喻,带你了解装饰器的基本概念、使用方法以及它们如何让你的代码变得更加简洁高效。让我们一起揭开装饰器的神秘面纱,看看它是如何在不改变函数核心逻辑的情况下,为函数增添新功能的吧!
|
20天前
|
设计模式 监控 程序员
Python中的装饰器:功能增强与代码复用的利器####
本文深入探讨了Python中装饰器的工作原理、应用场景及其在提升代码可读性、减少重复劳动方面的优势。不同于传统方法的冗长和复杂,装饰器提供了一种优雅且高效的方式来增强函数或方法的功能。通过具体实例,我们将揭示装饰器如何简化错误处理、日志记录及性能监控等常见任务,使开发者能够专注于核心业务逻辑的实现。 ####
|
21天前
|
机器人 计算机视觉 Python
Python作为一种高效、易读且功能强大的编程语言,在教育领域的应用日益广泛
Python作为一种高效、易读且功能强大的编程语言,在教育领域的应用日益广泛
36 5
|
24天前
|
开发框架 缓存 测试技术
Python中的装饰器:魔法般的功能增强
在Python编程中,装饰器是一种强大而灵活的工具,它允许开发者修改或扩展函数和类的行为。本文将深入探讨Python装饰器的工作原理,并通过实例演示如何创建和使用自定义装饰器来增强代码的功能性和可读性。我们将从基础概念讲起,逐步深入到高级应用,揭示装饰器背后的“魔法”,并展示它们在实际开发中的多种用途。
|
1月前
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
|
21天前
|
Python
探索Python中的装饰器:简化代码,增强功能
本文将引导你了解Python装饰器的奇妙世界。我们将从基础概念入手,逐步深入到装饰器的应用实例,展示如何通过这一强大工具简化代码并增加新功能。文章不仅介绍理论知识,还将提供实用的代码示例,帮助你在实际项目中运用装饰器提升开发效率。