python案例----学生管理系统(实现学员的增删改查功能)

学生管理系统

系统需求
1.实现可以添加新的学员
2.修改单个学员的各项信息
3.将某个学员的所有信息全部删除
4.查看单个学员的信息
5.将所有学员的信息罗列出来
6.计算考试成绩的平均值
7.计算考试的及格率(大于60分)
8.每次操作后可以选择返回主菜单
9.将所有的学员信息保存在一个txt文件中
设计细节
因为某些操作会用到os模块所以先进行进行声明

import os

准备工作

# 创建总字典
# 创建的字典为大字典   我们采用字典嵌套的方式来进行数据的查找录入等....
all_dict = {
   }   #创建一个空的字典用来装数据

字典中的信息格式应为all_dict={学员学号:{学员信息},学员学号:{学员信息}…}采用字典嵌套的方式进行保存
将每个功能都装在函数中,可以减少内存,在需要用的时候直接调用就好了
1.上传数据
在上传之前先要创建一个 “学生信息.txt” 文件
然后用 global 方法来使函数中的 all_dict字典可以改变全局中all_dict字典
再用 eval() 函数将文件中的数据转换回原来的数据类型

def shangchuan():   #定义函数
    if os.path.exists("学生信息.txt"):  #判断是否存在存储数据的文件
        with open("学生信息.txt", "r", encoding="utf-8") as file:   #打开数据传输的通道
            ret = file.read()   #将读取的数据赋值给一个变量
            global all_dict     #利用global函数使局部变量可以影响全局变量
            all_dict = eval(ret)    #将eval() 函数用来执行一个字符串表达式,并返回表达式的值
        print("加载成功.......")

2.添加新的学员信息
首先判断学员是否存在,学员不存在才可以添加,存在了的话接下来的一系列操作也就没属于添加新学员了
用 input 方法来让用户进行信息的输入
再利用字典的 setedfault 方法将数据保存进字典中

def add():
    while True:     #设置循环
        num = input("请输入学号:")
        if num in all_dict:     #判断学员是否存在
            print("该学生已存在!")
        else:
            name = input("请输入姓名:")
            age = int(input("请输入年龄:"))
            python = int(input("请输入python成绩:"))
            # 将用户输入的信息添加到字典里
            stu_dict = {
   'num': num, 'name': name, 'age': age, 'python': python}
            all_dict.setdefault(num, stu_dict)
            print("添加成功!")
            # 自定义是返回菜单还是继续添加
            re_minu = int(input("返回主菜单输入0 继续输入新学员输入 1"))
  
  • 11
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值