温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用python实现学生信息管理系统

发布时间:2021-06-22 15:24:54 来源:亿速云 阅读:245 作者:chen 栏目:开发技术

本篇内容介绍了“怎么用python实现学生信息管理系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

python实现学生信息管理系统,供大家参考,具体内容如下

#!/usr/bin/env python # -*- coding:utf-8 -*- import re import os # 主函数 def main():     ctrl = True     while (ctrl):         menu()         option = input("请选择:")         option_str = re.sub("\D", "", option)         if option_str in ['0', '1', '2', '3', '4', '5', '6', '7']:             option_int = int(option_str)             if option_int == 0:                 print("您已退出学生信息管理系统!")                 ctrl = False             elif option_int == 1:                 insert()             elif option_int == 2:                 search()             elif option_int == 3:                 delete()             elif option_int == 4:                 modify()             elif option_int == 5:                 sort()             elif option_int == 6:                 total()             elif option_int == 7:                 show() # 显示主菜单 def menu():     print("""     -------------------学生信息管理系统---------------------     ======================功能菜单=========================          1 录入学生信息     2 查找学生信息     3 删除学生信息     4 修改学生信息     5 排序     6 统计学生总人数     7 显示所有学生信息     0 退出系统     ======================================================     说明:通过数字或上下方向键选择菜单     ------------------------------------------------------     """) # 向指定文件写入指定内容的函数 filename = "students.txt" def save(student):     try:         students_txt = open(filename, "a")     except:         students_txt = open(filename, "w")     for info in student:         students_txt.write(str(info) + "\n")     students_txt.close() #     1 录入学生信息 def insert():     studentList = []     mark = True     while mark:         id = input("请输入ID(如1001):")         if not id:             break         name = input("请输入名字:")         if not name:             break         try:             english = int(input("请输入英语成绩:"))             python = int(input("请输入Python成绩:"))             c = int(input("请输入C语言成绩:"))         except:             print("输入无效,不是整型数值....重新录入信息")             continue         # 信息保存到字典         student = {"id": id, "name": name, "english": english, "python": python, "C语言": c}         studentList.append(student)         inputMark = input("是否继续添加?(y/n):")         if inputMark == "y":             mark = True         else:             mark = False         save(studentList)         print("学生信息录入完毕!") #     2 查找学生信息 def search():     mark = True     student_query = []     while mark:         id = ""         name = ""         if os.path.exists(filename):             mode = input("按ID查输入1,按姓名查输入2:")             if mode == "1":                 id = input("请输入学生ID:")             elif mode == "2":                 name = input("请输入学生姓名:")             else:                 print("您的输入有误,请重新输入!")                 search()             with open(filename, 'r') as file:                 student = file.readlines()                 for list in student:                     d = dict(eval(list))                     if id is not "":                         if d['id'] == id:                             student_query.append(d)                     elif name is not "":                         if d['name'] == name:                             student_query.append(d)                 show_student(student_query)                 student_query.clear()                 inputMark = input("是否继续查询?(y/n):")                 if inputMark == "y":                     mark = True                 else:                     mark = False         else:             print("暂未保存数据信息...")             return def show_student(studentList):     if not studentList:         print("无数据信息")         return     format_title = "{:^6}{:^12}\t{:^8}\t{:^10}\t{:^10}\t{:^10}"     print(format_title.format("ID", "名字", "英语成绩", "Python成绩", "C语言成绩", "总成绩"))     format_data = "{:^6}{:^12}\t{:^12}\t{:^12}\t{:^12}\t{:^12}"     for info in studentList:         print(format_data.format(info.get("id"), info.get("name"), str(info.get("english")), str(info.get("python")),                                  str(info.get("C语言")),                                  str(info.get("english")+info.get("python")+info.get("C语言")).center(12))) #     3 删除学生信息 def delete():     mark = True     while mark:         studentId = input("请输入要删除的学生ID:")         if studentId is not "":             if os.path.exists(filename):                 with open(filename, 'r') as rfile:                     student_old = rfile.readlines()             else:                 student_old = []             ifdel = False             if student_old:                 with open(filename, 'w') as wfile:                     d = {}                     for list in student_old:                         d = dict(eval(list))                         if d['id'] != studentId:                             wfile.write(str(d) + "\n")                         else:                             ifdel = True                     if ifdel:                         print("ID为%s的学生信息已经被删除..." % studentId)                     else:                         print("没有找到ID为%s的学生信息..." % studentId)             else:                 print("无学生信息...")                 break             show()             inputMark = input("是否继续删除?(y/n):")             if inputMark == "y":                 mark = True             else:                 mark = False #     4 修改学生信息 def modify():     show()     if os.path.exists(filename):         with open(filename, 'r') as rfile:             student_old = rfile.readlines()     else:         return     studentid = input("请输入要修改的学生ID:")     with open(filename, "w") as wfile:         for student in student_old:             d = dict(eval(student))             if d["id"] == studentid:                 print("找到了这名学生,可以修改他的信息!")                 while True:                     try:                         d["name"] = input("请输入姓名:")                         d["english"] = int(input("请输入英语成绩:"))                         d["python"] = int(input("请输入Python成绩:"))                         d["C语言"] = int(input("请输入C语言成绩:"))                     except:                         print("输入信息有误,重新输入")                     else:                         break                 student = str(d)                 wfile.write(student + "\n")                 print("修改成功!")             else:                 wfile.write(student)     mark = input("是否继续修改其他学生信息?(y/n):")     if mark == "y":         modify() #     5 排序 def sort():     show()     if os.path.exists(filename):         with open(filename, 'r') as file:             student_old = file.readlines()             student_new = []         for list in student_old:             d = dict(eval(list))             student_new.append(d)     else:         return     ascOrDesc = input("请选择(0升序;1降序):")     if ascOrDesc == "0":         ascOrDescBool = False     elif ascOrDesc == "1":         ascOrDescBool = True     else:         print("您的输入有误,请重新输入!")         sort()     mode = input("请选择排序方式(1按英语排序;2按Python排序;3按C语言排序;0按总成绩排序)")     if mode == "1":         student_new.sort(key=lambda x: x["english"], reverse=ascOrDescBool)     elif mode == "2":         student_new.sort(key=lambda x: x["python"], reverse=ascOrDescBool)     elif mode == "3":         student_new.sort(key=lambda x: x["C语言"], reverse=ascOrDescBool)     elif mode == "0":         student_new.sort(key=lambda x: x["english"] + x["python"] + x["C语言"], reverse=ascOrDescBool)     else:         print("您的输入有误,请重新输入!")         sort()     show_student(student_new) #     6 统计学生总人数 def total():     if os.path.exists(filename):         with open(filename, 'r') as rfile:             student_old = rfile.readlines()             if student_old:                 print("一共有%s名学生" % len(student_old))             else:                 print("还没有录入学生信息!")     else:         print("暂未保存数据信息...") #     7 显示所有学生信息 def show():     student_new = []     if os.path.exists(filename):         with open(filename, 'r') as rfile:             student_old = rfile.readlines()         for list in student_old:             student_new.append(eval(list))         if student_new:             show_student(student_new)     else:         print("暂未保存数据信息...") #     0 退出系统 if __name__ == '__main__':     main()

安装pyinstaller打包成可执行exe文件

pip install pyinstaller ... (pydemo) D:\JavaProjects\PythonProject\01学生信息管理系统>pyinstaller --version 4.3 (pydemo) D:\JavaProjects\PythonProject\01学生信息管理系统>pyinstaller -F D:\JavaProjects\PythonProject\01学生信息管理系统\StuManagerSys.py

在下面的路径即可找到打包后的exe文件

怎么用python实现学生信息管理系统

“怎么用python实现学生信息管理系统”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI