python实现学生信息管理系统

学生信息管理系统功能菜单包含:1.添加学生信息 2.删除学生信息3.更新学生信息4.查询学生信息5.统计学生成绩6.退出系统

并且包含输入存在错误时会有系统提示。

stu_info = []
menu_info = ["添加学生信息", "删除学生信息", "更新学生信息",
             "查询学生信息", "统计学生信息", "退出系统"]
path1 = "stu_info.txt"
try:
    f = open(path1,mode="r",encoding="utf8")
    content = f.readlines()
    f.close()
except Exception as err:
    content=[]
    print(err)

def printMainPage():
    print("""
                ==============================
                   学生信息管理系统功能菜单
                   1.添加学生信息
                   2.删除学生信息
                   3.更新学生信息
                   4.查询学生信息
                   5.统计学生成绩
                   6.退出系统
                ==============================   
       """)
    select_no = int(input("请输入你的操作选项:"))
    return select_no

def addInfo():
    print("你选择的功能是:", menu_info[select_no - 1])
    stu_no = input("请输入待添加学生学号:")
    for i in stu_info:
        if i[0] == stu_no:
            print("该学生信息已存在,不能再添加")
            break
    else:
        name = input("请输入姓名:")
        sex = input("输入性别:")
        chines = float(input("语文成绩:"))
        math = float(input("数学成绩:"))
        english = float(input("英语成绩:"))
        stu_info.append([stu_no, name, sex, chines, math, english])
        print("信息添加成功")

def delInfo():
    print("你选择的功能是:", menu_info[select_no - 1])
    stu_no = input("输入待删除学号:")
    for i in stu_info:
        if int(i[0]) == int(stu_no):
            stu_info.remove(i)
            print("删除成功")
            break
    else:
        print("学号不存在")

def modifystuInfo():
    print("你选择的功能是:", menu_info[select_no - 1])
    stu_no = input("输入待修改学号:")
    for i in range(len(stu_info)):
        if stu_info[i][0] == stu_no:
            print(i)
            print('选择要修改的信息')
            choo = input("1.姓名,2.性别,3.语文,4.数学,5.英语")
            if choo == "1":
                name = input("输入新姓名")
                stu_info[i][1] = name
                print('修改完成')
            elif choo == "2":
                sex = input("输入性别")
                stu_info[i][2] = sex
                print('修改完成')
            elif choo == "3":
                chinese = float(input("语文"))
                stu_info[i][3] = chinese
                print('修改完成')
            elif choo == "4":
                math = float(input("数学"))
                stu_info[i][4] = math
                print('修改完成')
            elif choo == "5":
                english = float(input('英语'))
                stu_info[i][5] = english
                print('修改完成')
            else:
                print('输入有误')
            break
    else:
        print("该学生信息未保存")

def showstuInfo():
    print("你选择的功能是:", menu_info[select_no - 1])
    stu_no = input("输入待查询学号:")
    print(stu_info)
    for i in stu_info:
        if i[0] == stu_no:
            print("你查询的学生信息如下:")
            print("学号:", stu_no, "姓名:",
                    i[1], "性别", i[2], sep="   ")
            print("语文成绩:%.2f" % i[3], "数学成绩:%.2f" % i[4],
                    "英语成绩:%.2f" % i[5], sep="   ")
            break
    else:
        print("该学生信息未保存")

def staticinfo():
    print("你选择的功能是:", menu_info[select_no - 1])
    print("请选择统计所有成绩/个人成绩 1/2")
    cho_oput = int(input("1,个人成绩 2,所有成绩"))
    if cho_oput ==1:
        no = input("请输入学号")
        for i in stu_info:
            if i[0] == no:
                print(i)
                sum_score = i[3] + i[4] + i[5]
                avg_score = sum_score / 3
                print(i[1] + "平均成绩:%2.f" % avg_score, '总成绩:%2.f' % sum_score, sep="    ")
                break
        else:
            print("该学生信息未保存")
    elif cho_oput ==2:
        if stu_info:
            math,chinese,english,count =0,0,0,0
            for i in stu_info:
                chinese += i[3]
                math += i[4]
                english += i[5]
                count += 1
            print("平均语文成绩:%2.f" %(int(chinese)/int(count)), "平均数学成绩:%2.f" %(int(math)/int(count)),
                  "平均英语成绩:%2.f" %(int(english)/int(count)), sep="    ")
        else:
            print("暂无学生信息")
    else:
        print("输入有误,请重新输入!")

def txt_to_info():
    if content !=[]:
        for i in content:
            print(i)
            i = i.strip("[").strip(",").replace("'",'').strip().strip("]").split(",")
            i1 =[i[j] for j in range(len(i)) if j==0 or j==1 or j==2]
            i2 = [float(i[j].strip()) for j in range(len(i)) if j==3 or j==4 or j==5]
            i = i1+i2
            stu_info.append(i)

def write_txt():
    with open(path1,mode="w",encoding="utf8") as f1:
        for i in stu_info:
            f1.writelines(str(i)+"\n")
        f1.close()
        print(stu_info)

txt_to_info()

while True:
    try:
        select_no = printMainPage()
        if select_no == 1:
            addInfo()
        elif select_no == 2:
            delInfo()
        elif select_no == 3:
            modifystuInfo()
        elif select_no == 4:
            showstuInfo()
        elif select_no == 5:
            staticinfo()
        elif select_no == 6:
            print("你选择的功能是:", menu_info[select_no - 1])
            print("系统即将退出!")
            break
        else:
            print("输入有误,请重新输入!")
    except Exception as err1:
        print(err1)
        print("输入有误,请重新输入")
write_txt()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值