IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python简易学生管理系统 -> 正文阅读

[Python知识库]python简易学生管理系统

加了文件,可使学生信息持久性保存在文件中。
注:即使退出循环或者程序,在下次进入系统的时候仍可读入学生信息数据。


一、代码

代码如下(示例):

def print_menu():
    print("""
    ==========================================
            欢迎适用学生信息管理系统
            1.添加学生信息
            2.删除学生信息
            3.修改学生信息
            4.查询学生信息
            5.统计学生成绩
            6.显示所有学生信息
            7.退出系统
    ==========================================
            """)

def print_info(stu_info):
    # print("学号",   "姓名",   "性别", "语文成绩", "数学成绩", "英语成绩",)
    print("学号   姓  名    性  别    语文成绩     数学成绩    英语成绩")
    for i in range(len(stu_info)):
        print(stu_info[i], end=" " * 7)
#1.添加学生信息
def apendStudent():
    print("你选择的选项是:  1.添加学生信息")
    id = input("请输入你要添加的学生学号:")
    for i in students:
        if len(i) > 0 and i[0] == id:
            print("该学生信息已保存")
            break
    else:
        stu_info = input_info(id)
        students.append(stu_info)
        answer = input('是否继续添加?y/n\n')
        if answer == 'y':
            apendStudent()
        else:
            save_file()
            print('学生信息录入完毕!!!')
        # save_file()
        # print("你添加的学生信息如下:")
        # print_info(stu_info)
#2.删除学生信息
def delStudent():
    print("你选择的选项是:2.删除学生信息")
    id = input("请输入你要删除的学生学号:")
    for i in students:
        if len(i) > 0 and i[0] == id:
            students.remove(i)
            print("信息已刪除")
            save_file()
            break
    else:
        print("学生信息未保存")
#3.修改学生信息
def modifyStudent():
    print("你选择的选项是:3.修改学生信息")
    id = input("请输入你要修改的学生学号:")
    for i in students:
        if len(i) > 0 and i[0] == id:
            stu_Id = students.index(i)
            stu_info = input_info(id)
            students[stu_Id] = stu_info
            print("修改后的学生信息:")
            print_info(stu_info)
            save_file()
            break
    else:
        print("学生信息未保存")
#4.查询学生信息
def searchStudent():
    print("你选择的选项是:4.查询学生信息")
    id = input("请输入你要查询的学生学号:")
    for i in students:
        if len(i) > 0 and i[0] == id:
            print("查询的学生信息如下:")
            print_info(i)
            break
    else:
        print("学生信息未保存")
#输入学生信息
def input_info(id):
    stu_id = id
    name = input("姓名:")
    sex = input("性别:")
    ch_score = float(input("语文成绩:"))
    math_score = float(input("数学成绩:"))
    eng_score = float(input("英语成绩:"))
    stu_info = [stu_id, name, sex, ch_score, math_score, eng_score]
    return stu_info
#5.统计学生成绩
def showStudent():
    print("你选择的选项是:5.统计学生成绩")
    id = input("请输入你要统计的学生学号:")
    for i in students:
        if len(i) > 0 and i[0] == id:
            stu_score(i)
            break
    else:
        print("学生信息未保存")
def stu_score(stu_info):
    sum_score = stu_info[3] + stu_info[4] + stu_info[5]
    avg_score = sum_score / 3
    print("学生三门课程总成绩为:%.2f" % sum_score)
    print("学生三门课程平均成绩为:%.2f" % avg_score)
#6.显示所有学生信息
def showAllStudent():
    print("你选择的选项是:6.显示所有学生信息")
    if len(students) > 0:
        print("学号  姓名  性别    语文成绩   数学成绩   英语成绩  总成绩  平均成绩")
        for i in range(len(students)):
            sum_scores = students[i][3] + students[i][4] + students[i][5]
            avg_scores = sum_scores / 3
            print(students[i][0],"  ",students[i][1],"  ", students[i][2],"  ",students[i][3],"  ",students[i][4],"  ",students[i][5],"  ",sum_scores,"  ",avg_scores,"\n")
    else:
        print("暂无数据!")
#保存数据至文件中
def save_file():
    f = open("student.txt", 'w', encoding='utf-8')
    f.write(str(students))
    f.close()
    print("数据保存至student.txt文件成功!")
#将数据读取至变量中
def read_file():
    try:
        f = open('student.txt', 'r', encoding='utf-8')
        ret = f.read()
        global students
        students = eval(ret)
        f.close()
        print("数据读取成功!")
    except:
        print("文件不存在")


stu_info = []
students = []

while True:
    print_menu();
    read_file();
    select_no = input("请输入你的操作选项编号:")
    if select_no == "1":
        apendStudent();
    elif select_no == "2":
        delStudent();
    elif select_no == "3":
        modifyStudent();
    elif select_no == "4":
        searchStudent();
    elif select_no == "5":
        showStudent();
    elif select_no == "6":
        showAllStudent();
    elif select_no == "7":
        print("退出系统!")
        break
    else:
        print("你输入的选项有误,请重新输入选项编号!")

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-11-14 21:35:32  更:2021-11-14 21:36:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 0:02:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码