python实现简单的学生信息管理系统

添加学生信息

首先是查找students列表中是否已经存在学生信息,通过ID查找,如果存在,则提示存在,否则输入学生信息,将学生信息存放在一个列表字典内

def add_student(students:list):
    #通过ID判断是否存在
    id = int(input("请输入学生ID:"))
    if id == 0:
        return
    #添加学生信息
    student_exists = False  # 初始化一个布尔变量,用来标记学生ID是否存在
    for student in students:
    	#
        if 'ID' in student and student['ID'] == id:# 检查当前学生记录是否包含 'ID' 键,并且值与给定的 id 是否相等
            print("学生ID已经存在,添加不成功")
            student_exists = True # 设置 student_exists 为 True,表示找到了匹配的学生ID
            break
    # 如果 student_exists 仍然是 False,表示没有找到匹配的学生ID
    if not student_exists:   
            students_information = {}
            name = input("请输入学生姓名:") 
            sex = input("请输入学生性别:")
            age = int(input("请输入学生年龄:"))
            telephone = input("请输入学生电话:")
            email = input("请输入学生邮箱:")
            address = input("请输入学生地址:")
			#将输入信息插入到学生信息字典中
            students_information['ID'] =id
            students_information['name'] =name
            students_information['sex'] =sex
            students_information['age'] =age
            students_information['telephone'] =telephone
            students_information['email'] =email
            students_information['address'] = address
            #将学生信息字典作为元素插入到学生列表中
            students.append(students_information)
            print('添加成功')
    return students

保存学生信息

将学生列表中的学生信息写入到文档中进行保存

def save(students:list):
    with open('students.txt','w',encoding='utf-8') as f:
        for i in students:
            f.write(str(i)+'\n')
        print('保存成功')
        return

查找学生信息

def show_student(students:list):
    #通过ID判断是否存在
    id = int(input("请输入要查找的学生ID:"))
    if id == 0:
        return
    student_exists = False
    #查找学生信息
    for i in students:
        if 'ID' in i and i['ID'] != id:
            print("不存在ID,查找不成功")
            student_exists = True
            return
    if not student_exists:
    	#从一个名为 students 的列表中筛选出所有具有特定 id 的学生记录,并将这些记录存储到一个新的列表 found_students 中。
        found_students = [student for student in students if student['ID'] == id]
        print(found_students)
        return 0   

修改学生信息

def change_student(students:list):
    id = int(input("请输入要修改的学生ID:"))
    while True:
        if id == 0:
            return
        #遍历学生列表,通过ID查找学生信息,并进行修改
        for i in range(len(students)):
            if students[i]['ID'] == id:
                print(students[i])
                students[i]['ID'] = int(input("请输入新的ID:"))
                students[i]['name'] = input("请输入新的姓名:")
                students[i]['sex'] = input("请输入新的性别:")
                students[i]['age'] = int(input("请输入新的年龄:"))
                students[i]['telephone'] = input("请输入新的电话:")
                students[i]['email'] = input("请输入新的邮箱:")
                students[i]['address'] = input("请输入新的地址:")
                print("修改成功!")
                return

            else:
                print("没有找到该学生!")
                return 0

删除学生信息

def delete_student(students:list):
    id = int(input("请输入要删除的学生ID:"))
    while True:
        #循环退出条件
        if id == 0:
            break
        #删除学生信息
        for i in students:
        	#通过ID判断是否存在
            if 'ID' in i and i['ID'] == id:
                student_remove = next((student for student in students if student['ID'] == id),None)
                students.remove(student_remove)
                print("删除成功!")
                return 
            else:
                print("不存在ID,删除不成功")
                return 0

显示学生信息

def show_student_info():
	#读取学生信息文件
    with open("students.txt", "r", encoding="utf-8") as f:
        for line in f:
            print(line.strip()) # 打印去除每行末尾空白字符(如空格和换行符)后的行内容

主函数

#主程序
def main():
    while True:
        print("""菜单:
          1.添加学生信息
          2.保存学生信息
          3.查找学生信息
          4.修改学生信息
          5.删除学生信息
          6.显示学生信息
          0.退出
        """)
        input_num = int(input("请输入数字:"))
    
        if input_num == 0:
            print("已退出!")
            break
        elif input_num == 1:
            print("1.添加学生信息")
            print(add_student(students))
            continue
        elif input_num == 2:
            print("2.保存学生信息")
            print(save(students))
            continue
    
        elif input_num == 3:
            print("3.查找学生信息")
            show_student(students)
            continue

        elif input_num == 4:
            print("4.修改学生信息")
            change_student(students)
            continue

        elif input_num == 5:
            print("5.删除学生信息")
            delete_student(students)
            continue
        elif input_num == 6:
            print("6.显示学生信息")
            show_student_info()
            continue

if __name__ == "__main__":
    main()

简单的实现了最基本的增删改查功能,适合新手练习

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开摆C

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值