我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用python怎么制作一个学生信息管理系统

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用python怎么制作一个学生信息管理系统

使用python怎么制作一个学生信息管理系统?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

Python主要用来做什么

Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、游戏开发;6、桌面应用开发。

需求分析

使用python怎么制作一个学生信息管理系统

使用python怎么制作一个学生信息管理系统

本程序需要用到os模板首先导入,并命名要存储信息的文件

import osFile_Object_Name = 'Student_Inforation.txt'

三、主函数

使用python怎么制作一个学生信息管理系统

def Main():    while True:        Menu()        _Select = int(input('Please select operation:'))        if _Select in [0, 1, 2, 3, 4, 5, 6, 7]:            if _Select == 0:                _Answer = input('Do you want to log out?(Y/N)')                if _Answer == 'Y' or _Answer == 'y':                    print('Thank for you use!!!')                    break                    pass                else:                    continue                    pass                pass            elif _Select == 1:                Insert_Infor()                pass            elif _Select == 2:                Search_Infor()                pass            elif _Select == 3:                Delete_Infor()                pass            elif _Select == 4:                Change_Infor()                pass            elif _Select == 5:                Sort()                pass            elif _Select == 6:                Count_Total_Num()                pass            elif _Select == 7:                Show_Infor()                pass            pass        else:            print('Error Input!!!')            pass

四、功能菜单

def Menu():    print('=========Student Information Management System=========')    print('---------------------Function menu---------------------')    print('             1、Input Student Information')    print('             2、Search Student Information')    print('             3、Delete Student Information')    print('             4、Change Student Information')    print('             5、Sort According to Score')    print('             6、Count Total Student Number')    print('             7、Show All Student Information')    print('             0、Log Out')    print('-------------------------------------------------------')    pass

五、录入信息

使用python怎么制作一个学生信息管理系统

def Insert_Infor():    Student_Infor_List = []  # 创建一个学生信息空列表,后面会用到    while True:        Stu_Id = input('Please input the id(such as 1001,1002):')        if not Stu_Id:  # 空的字符串转为bool类型为False,非空为True,此处若是输入为空会直接跳出循环。(空列表、字典、元组等都满足)            break            pass        Stu_Name = input('Please input the name:')        if not Stu_Name:            break            pass        try:            English_Score = int(input('Please input the English score:'))            Python_Score = int(input('Please input the Python score:'))            Java_Score = int(input('Please input the Java score:'))            pass        except:            print('Error Input(not int),please input again')            continue            pass        # 将每个学生的信息放入一个字典当中        Student_Infor_Dict = {'Id': Stu_Id, 'Name': Stu_Name, 'English': English_Score, 'Python': Python_Score, 'Java': Java_Score}        # 将一个字典作为一个元素放入学生信息列表        Student_Infor_List.append(Student_Infor_Dict)  # 使用 append() 方法来添加列表项        _Answer = input('Whether to input more?(Y/N)')        if _Answer == 'Y' or _Answer == 'y':            continue            pass        else:            break            pass        pass    # 将学生信息列表中的字典元素保存到文件之中,调用Keep_Infor()函数    Keep_Infor(Student_Infor_List)    print('Input Finished')    pass

六、保存信息

def Keep_Infor(List):    File_Object = open(File_Object_Name, mode='a', encoding='utf-8')    # 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。    for item in List:        File_Object.write(str(item)+'\n')        pass    # 将传入的列表中的字典元素强制转换成字符串类型并拼接上换行符写入文件    File_Object.close()

七、查找信息

使用python怎么制作一个学生信息管理系统

def Search_Infor():    Student_Query = [] # 空列表,之后用于存放查找到的学生信息    while True:        Student_Id = ''        Student_Name = ''        if os.path.exists(File_Object_Name):        # os.path模块主要用于文件的属性获取,os.path.exists()就是判断括号里的文件是否存在,括号内的可以是文件路径/名。            Search_Mode = int(input('search by id(1) or by name(2):'))            if Search_Mode == 1:                Student_Id = input('Please input id:')                pass            elif Search_Mode == 2:                Student_Name = input('Please input name:')                pass            else:                print('Error Input,try again!')                Search_Infor()                pass            with open(File_Object_Name, 'r', encoding='utf-8')as File_Object:  # 只读模式打开文件并将类对象赋给File_Object                Student_List = File_Object.readlines()  # readlines()按行读取,一次性读取所有内容,返回一个列表,每一行内容作为一个元素                for item in Student_List:  # 遍历列表中元素                    _Dict = eval(item)                    # 由于是以字符串类型保存到文件中,此时item相当于'dict'形式,要将其用eval()函数转换为字典,即脱掉''。                    if Student_Id:  # 如果选的是按照姓名查找,则此空字符串已经不再为空,bool类型为True                        if Student_Id == _Dict['Id']:                            Student_Query.append(_Dict)                            pass                        pass                    elif Student_Name:                        if Student_Name == _Dict['Name']:                            Student_Query.append(_Dict)                            pass                        pass                    pass                if Student_Query == []:  # 仍为空说明未找到。                    print('no such student,try again')                    Search_Infor()  # 再次调用函数                    pass                pass            pass        else:            print('Still no such file to keep student information!')            pass        print(Student_Query[0])  # 此时该列表中只有一个字典元素,直接打印输出        Student_Query.clear()  # 调用内置函数清空列表,方便下次使用        _Answer = input('Whether to search others?(Y/N)')        if _Answer == 'Y' or _Answer == 'y':            continue            pass        else:            return        pass    pass

八、删除信息

使用python怎么制作一个学生信息管理系统

def Delete_Infor():    while True:        Student_Id = input('Please input the student‘s id that you want to delete:')        if Student_Id:            if os.path.exists(File_Object_Name):                with open(File_Object_Name, 'r', encoding='utf-8')as File1:                    Old_Student_Infor = File1.readlines()  # 读取每行作为元素放入Old_Student_Infor列表                    pass                pass            else:                Old_Student_Infor = []                pass            Flag = False  # 是否删除成功的标志            if Old_Student_Infor:                with open(File_Object_Name, 'w', encoding='utf-8')as File2:                    _Dict = {}                    for item in Old_Student_Infor:                        _Dict = eval(item)  # 将删除信息之前的列表元素转化为字典形式赋给_Dict                        if _Dict['Id'] != Student_Id:                            File2.write(str(_Dict)+'\n')                            # 如果与要删除的信息的Id不同,覆盖写入原文件                            pass                        else:                            Flag = True  # 如果相同的话,则不写入文件中,相当于删除成功                            pass                        pass                    if Flag:                        print('Student information of {} has been delete'.format(Student_Id))                        pass                    else:                        print('Can not find student of id:{}'.format(Student_Id))                        pass                    pass                pass            else:                print('file have no student information')                break                pass            Show_Infor()            _Answer = input('Whether to delete more?(Y/N)')            pass        if _Answer == 'Y' or _Answer == 'y':            continue            pass        else:            break            pass        pass    pass

九、修改信息

使用python怎么制作一个学生信息管理系统

def Change_Infor():    Show_Infor()    if os.path.exists(File_Object_Name):        with open(File_Object_Name, 'r', encoding='utf-8')as old_file:            Old_Student_Infor = old_file.readlines()            pass        pass    else:        return    Student_Id = input('Please input the id you wanna change:')    if Student_Id:        with open(File_Object_Name, 'w', encoding='utf-8')as new_file:            for item in Old_Student_Infor:                _dict = dict(eval(item))                if _dict['Id'] == Student_Id:                    print('Find it,can change it!')                    while True:                        try:                            _dict['Name'] = input('Please input new name:')                            _dict['English'] = input('Please input new English score:')                            _dict['Python'] = input('Please input new Python score:')                            _dict['Java'] = input('Please input new Java score:')                            pass                        except:                            print('Error Input!!!Try again')                            pass                        new_file.write(str(_dict)+'\n')                        print('Successfully change!')                        break                        pass                    pass                else:                    print('Can‘t find it')                    new_file.write(str(_dict)+'\n')                    pass                pass            pass        pass    _Answer = input('Whether to change more?(Y/N)')    if _Answer == 'y' or _Answer == 'Y':        Change_Infor()        pass    else:        return    pass

十、显示信息

使用python怎么制作一个学生信息管理系统

def Show_Infor():    Infor_List = []    if os.path.exists(File_Object_Name):        with open(File_Object_Name, 'r', encoding='utf-8')as File_Object:            Stu_List = File_Object.readlines()            for item1 in Stu_List:                Infor_List.append(dict(eval(item1)))                pass            if Infor_List:                for item2 in Infor_List:                    print(item2)                    pass                pass            else:                print('no student')                pass            pass        pass    else:        print('no such file')        pass    pass

十一、按成绩排序

使用python怎么制作一个学生信息管理系统

def Sort():    Show_Infor()    Infor_List = []    if os.path.exists(File_Object_Name):        with open(File_Object_Name, 'r', encoding='utf-8')as File_Object:            Student_List = File_Object.readlines()            for item in Student_List:                _Dict = dict(eval(item))                Infor_List.append(_Dict)                pass            pass        pass    else:        print('no such file')        return    Sort_Mode = bool(input('Please input sort mode(0、ascending order|1、descending order)'))    if not Sort_Mode:  # ascending order        reverse_mode = True        pass    else:  # descending order        reverse_mode = False        pass    Specific_Sort_Mode = int(input('Sort by English(1),by Python(2),by Jave(3),by total(4):'))    if Specific_Sort_Mode == 1:        Infor_List.sort(key=lambda x: int(x['English']), reverse=reverse_mode)        pass    elif Specific_Sort_Mode == 2:        Infor_List.sort(key=lambda x: int(x['Python']), reverse=reverse_mode)        pass    elif Specific_Sort_Mode == 3:        Infor_List.sort(key=lambda x: int(x['Java']), reverse=reverse_mode)        pass    elif Specific_Sort_Mode == 4:        Infor_List.sort(key=lambda x: int(x['English']) + int(x['Python']) + int(x['Java']), reverse=reverse_mode)        pass    else:        print('Error Input,try again')        Sort()        pass    for item in Infor_List:        print(item)        pass    pass
  • sort()函数原型: list.sort(key=None, reverse=False)

key参数 :
key接受的是一个只有一个形参的函数,形式如下
def f(a):
return len(a)
key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序
reverse参数 :
reverse接受的是一个bool类型的值 (Ture or False),表示是否颠倒排列顺序,一般默认的是False

十二、统计人数

使用python怎么制作一个学生信息管理系统

def Count_Total_Num():    if os.path.exists(File_Object_Name):        with open(File_Object_Name, 'r', encoding='utf-8')as File_Object:            Stu_List = File_Object.readlines()            _Count = len(Stu_List)            if _Count >= 2:                print('A total of {} students')                pass            elif _Count ==1:                print('A single student!')                pass            else:                print('no student!')                pass            pass        pass    else:        print('still no such file!')        pass    pass

十三、最后记得运行主函数

Main()

十四、将程序打包成可执行exe文件

cmd进入command界面

输入pip install PyInstaller

安装完成后仍在cmd界面输入pyinstaller -F py为扩展名的文件路径\文件名.py

操作后将会有一大串代码,倒数第二行会有最终文件的保存地址,打开之后将之前编译程序生成的txt文件移入该文件夹中即可操作

关于使用python怎么制作一个学生信息管理系统问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用python怎么制作一个学生信息管理系统

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

使用python怎么制作一个学生信息管理系统

使用python怎么制作一个学生信息管理系统?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究
2023-06-14

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

本文将为大家详细介绍“怎么使用python实现学生信息管理系统”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“怎么使用python实现学生信息管理系统”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体
2023-06-06

使用java怎么在控制台中实现一个学生信息管理系统

使用java怎么在控制台中实现一个学生信息管理系统?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java有哪些集合类Java中的集合主要分为四类:1、List列表:有序的,可重
2023-06-14

怎么在java中使用mysql实现一个学生信息管理系统

今天就跟大家聊聊有关怎么在java中使用mysql实现一个学生信息管理系统,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体内容如下import java.awt.BorderLay
2023-05-30

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

本文将为大家详细介绍“python怎么实现学生信息管理系统”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“python怎么实现学生信息管理系统”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下
2023-06-06

怎么用VUE实现一个简单的学生信息管理系统

本篇内容主要讲解“怎么用VUE实现一个简单的学生信息管理系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用VUE实现一个简单的学生信息管理系统”吧!一、主要功能本次任务主要是使用 VUE
2023-06-27

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

这篇文章给大家分享的是有关python tkinter怎么实现学生信息管理系统的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下初学python,代码写的比较繁杂,系统功能还有完善的空间系统使用了mysq
2023-06-29

如何使用C++编写一个简单的学生信息管理系统?

如何使用C++编写一个简单的学生信息管理系统?学生信息管理系统是一款非常常见且实用的软件,用于管理和记录学生的基本信息、课程成绩等。本文将指导您如何使用C++编写一个简单的学生信息管理系统。首先,您需要确定学生信息管理系统的基本功能模块。常
如何使用C++编写一个简单的学生信息管理系统?
2023-11-04

怎么使用C++代码实现学生信息管理系统

今天小编给大家分享一下怎么使用C++代码实现学生信息管理系统的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。编译环境:Micr
2023-06-30

C++中怎么使用Map实现学生信息管理系统

本文小编为大家详细介绍“C++中怎么使用Map实现学生信息管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++中怎么使用Map实现学生信息管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、 作品
2023-06-30

使用python编写一个学生通讯录管理系统

本篇文章为大家展示了使用python编写一个学生通讯录管理系统,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。功能模块分析:1.首页(菜单功能)2.添加学生3.删除学生4.修改学生5.统计通讯录联系人
2023-06-06

python面向对象怎么实现学生信息管理系统

今天小编给大家分享一下python面向对象怎么实现学生信息管理系统的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.主要内容
2023-06-30

怎么用Android开发一个学生管理系统

本篇内容介绍了“怎么用Android开发一个学生管理系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!效果演示随手做的一个小玩意,还有很多功
2023-06-25

使用Python怎么制作一个信息轰炸工具

本篇文章给大家分享的是有关使用Python怎么制作一个信息轰炸工具,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。准备阶段我们需要安装pyautogui调用库(在命令提示符下安装
2023-06-15

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录