Python实现学生管理系统并生成exe可执行文件详解流程


Posted in Python onJanuary 22, 2022

话说这能难倒我吗?赶赶单单~

来 ,开搞!

一、准备工作

用到的软件准备一哈

  • Python 3.8
  • Pycharm 2021.2

知识点

  • Python基础语法
  • 基本的数据类型与结构
  • 基本的逻辑控制语句
  • 实战小项目

二、代码流程

= 赋值 就是把等号左边的内容 用 等号右边的这个变量名字 接收

msg = """**************************************************
欢迎使用【学生信息管理系统】V1.0
请选择你想要进行的操作
1. 新建学生信息
2. 显示全部信息
3. 查询学生信息
4. 删除学生信息
5. 修改学生信息

0. 退出系统
**************************************************"""

学生信息用列表保存,并且里面字典数据类型

student_info = [
    {'姓名': '木子', '语文': 60, '数学': 60, '英语': 60, '总分': 180},
    {'姓名': '巳月', '语文': 60, '数学': 60, '英语': 60, '总分': 180},
    {'姓名': '婧琪', '语文': 60, '数学': 60, '英语': 60, '总分': 180},
]

整一个死循环

while True:
    print(msg)  # 输出函数 print
    # = 左边都是自定义的变量  变量不能以数字开头 不推荐使用关键字作为变量名 建议变量见名知意
    # 输入的内容 数据类型是字符串 数据类型
    input_world = input('请输入你想要进行的操作: ')
    # print('你选择的操作是: ', input_world)
    # 多条件判断的语句 一个 = 是赋值  两个 = 比较 是否相等
    # 注释
    if input_world == '1': # 判断 input_world(输入的内容) 是否 等于 1
        print('新建学生信息')
        name = input('请输入学生的姓名: ')
        chinese = input('请输入学生的语文成绩: ')
        math = input('请输入学生的数学成绩: ')
        English = input('请输入学生的英语成绩: ')
        # len() == 10 统计元素个数 如果 多或者少 进行判断
        total = int(chinese) + int(math) + int(English)  # 总分 转整型
        dit = {
            '姓名': name,
            '语文': chinese,
            '数学': math,
            '英语': English,
            '总分': total,
        }
        student_info.append(dit)

    elif input_world == '2':
        print('显示全部信息')
        print('姓名\t语文\t数学\t英语\t总分')

for遍历循环

for student in student_info:
    # 隔空 空tab键位 四个空格 \n换行
    # {} 字典数据类型  根据键值对提取内容 (根据冒号左边的内容 提取冒号右边的内容)
    # 字典取值的方法  student['语文']
    print(student['姓名'] + '\t' +
          str(student['语文']) + '\t\t' +
          str(student['数学']) + '\t\t' +
          str(student['英语']) + '\t\t' +
          str(student['总分'])
          )

查询信息

elif input_world == '3':
    print('查询学生信息')
    input_name = input('请输入你要查询的学生姓名: ')

    for student in student_info:
        if student['姓名'] == input_name:
            print('姓名\t语文\t数学\t英语\t总分')
            # 格式整齐
            print(student['姓名'] + '\t' +
                  str(student['语文']) + '\t\t' +
                  str(student['数学']) + '\t\t' +
                  str(student['英语']) + '\t\t' +
                  str(student['总分'])
                  )
            break  # 跳出循环
    else:
        print('学生信息有误, 查询信息失败')

删除信息

elif input_world == '4':
    print('删除学生信息')
    input_name = input('请输入你要删除的学生姓名: ')
    for student in student_info:
        if student['姓名'] == input_name:
            # 列表如何删除元素
            # pop 弹出列表元素 并且删除
            student_info.remove(student)
            print(student['姓名'], '信息删除成功')
            break
    else:
        print('学生信息有误, 删除信息失败')

修改信息

elif input_world == '5':
     print('修改学生信息')
     input_name = input('请输入你要修改的学生姓名: ')
     for student in student_info:
         if student['姓名'] == input_name:
             chinese = input('请重新输入语文成绩: ')
             math = input('请重新输入数学成绩: ')
             english = input('请重新输入英语成绩: ')
             total = int(chinese) + int(math) + int(english)
             student['语文'] = chinese
             student['数学'] = math
             student['英语'] = english
             student['总分'] = total
             break
     else:
         print('学生信息有误, 修改信息失败')

退出

elif input_world == '0':
     print('退出系统')
     break

完整代码

msg = """**************************************************
欢迎使用【学生信息管理系统】V1.0
请选择你想要进行的操作
1. 新建学生信息
2. 显示全部信息
3. 查询学生信息
4. 删除学生信息
5. 修改学生信息

0. 退出系统
**************************************************"""

student_info = [
    {'姓名': '木子', '语文': 60, '数学': 60, '英语': 60, '总分': 180},
    {'姓名': '巳月', '语文': 60, '数学': 60, '英语': 60, '总分': 180},
    {'姓名': '婧琪', '语文': 60, '数学': 60, '英语': 60, '总分': 180},
]

# 死循环
while True:
    print(msg)  # 输出函数 print
    input_world = input('请输入你想要进行的操作: ')
    if input_world == '1': # 判断 input_world(输入的内容) 是否 等于 1
        print('新建学生信息')
        name = input('请输入学生的姓名: ')
        chinese = input('请输入学生的语文成绩: ')
        math = input('请输入学生的数学成绩: ')
        English = input('请输入学生的英语成绩: ')

        total = int(chinese) + int(math) + int(English)  # 总分 转整型
        dit = {
            '姓名': name,
            '语文': chinese,
            '数学': math,
            '英语': English,
            '总分': total,
        }
        student_info.append(dit)

    elif input_world == '2':
        print('显示全部信息')
        print('姓名\t语文\t数学\t英语\t总分')

        for student in student_info:

            print(student['姓名'] + '\t' +
                  str(student['语文']) + '\t\t' +
                  str(student['数学']) + '\t\t' +
                  str(student['英语']) + '\t\t' +
                  str(student['总分'])
                  )

    elif input_world == '3':
        print('查询学生信息')
        input_name = input('请输入你要查询的学生姓名: ')

        for student in student_info:
            if student['姓名'] == input_name:
                print('姓名\t语文\t数学\t英语\t总分')
                # 格式整齐
                print(student['姓名'] + '\t' +
                      str(student['语文']) + '\t\t' +
                      str(student['数学']) + '\t\t' +
                      str(student['英语']) + '\t\t' +
                      str(student['总分'])
                      )
                break  # 跳出循环
        else:
            print('学生信息有误, 查询信息失败')


    elif input_world == '4':
        print('删除学生信息')
        input_name = input('请输入你要删除的学生姓名: ')
        for student in student_info:
            if student['姓名'] == input_name:
                # 列表如何删除元素
                # pop 弹出列表元素 并且删除
                student_info.remove(student)
                print(student['姓名'], '信息删除成功')
                break
        else:
            print('学生信息有误, 删除信息失败')


    elif input_world == '5':
        print('修改学生信息')
        input_name = input('请输入你要修改的学生姓名: ')
        for student in student_info:
            if student['姓名'] == input_name:
                chinese = input('请重新输入语文成绩: ')
                math = input('请重新输入数学成绩: ')
                english = input('请重新输入英语成绩: ')
                total = int(chinese) + int(math) + int(english)
                student['语文'] = chinese
                student['数学'] = math
                student['英语'] = english
                student['总分'] = total
                break
        else:
            print('学生信息有误, 修改信息失败')

    elif input_world == '0':
        print('退出系统')
        break

    else:
        print('请输入正确的操作')

三、打包exe可执行程序

首先安装一下这个模块Pyinstallerwin+r打开搜索框,输入cmd回车打开命令提示符窗口。

Python实现学生管理系统并生成exe可执行文件详解流程

输入pip install Pyinstaller即可安装成功。

Python实现学生管理系统并生成exe可执行文件详解流程

你的代码保存路径尽量换成英文的,免得报错了。

比如你的代码放在D盘了,你就在命令提示符窗口把目录切换到D盘。

Python实现学生管理系统并生成exe可执行文件详解流程

然后输入CD +空格+你的文件地址,比如我放在D盘的666文件夹了。

Python实现学生管理系统并生成exe可执行文件详解流程

这时候开始打包,在命令提示符窗口输入pyinstaller -F -w加上你的代码文件名,一定带上后缀.py

Python实现学生管理系统并生成exe可执行文件详解流程

这里解释一下,-F 是生成exe文件的,一定要用大写,不然会失败;-w大写小都可以,它是解决打包成功后运行exe文件会闪黑框问题,尽量加上,你也不想发给别人装逼的时候被挑刺吧。

然后回车开始打包

Python实现学生管理系统并生成exe可执行文件详解流程

打开dist文件夹,你打包好的文件就放在这里咯~

Python实现学生管理系统并生成exe可执行文件详解流程

Python实现学生管理系统并生成exe可执行文件详解流程

运行一下看看

Python实现学生管理系统并生成exe可执行文件详解流程

新建信息

Python实现学生管理系统并生成exe可执行文件详解流程

查询信息

Python实现学生管理系统并生成exe可执行文件详解流程

好家伙,是不是简简单单!

到此这篇关于Python实现学生管理系统并生成exe可执行文件详解流程的文章就介绍到这了,更多相关Python 学生管理系统内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python设计模式之观察者模式实例
Apr 26 Python
Python进阶篇之字典操作总结
Nov 16 Python
python实现远程通过网络邮件控制计算机重启或关机
Feb 22 Python
pandas创建新Dataframe并添加多行的实例
Apr 08 Python
python2.7实现FTP文件下载功能
Apr 15 Python
python绘制雪景图
Dec 16 Python
基于Django实现日志记录报错信息
Dec 17 Python
Django后台管理系统的图文使用教学
Jan 20 Python
python读取mysql数据绘制条形图
Mar 25 Python
python实现密度聚类(模板代码+sklearn代码)
Apr 27 Python
Python3爬虫里关于Splash负载均衡配置详解
Jul 10 Python
python图像处理基本操作总结(PIL库、Matplotlib及Numpy)
Jun 08 Python
django中websocket的具体使用
Jan 22 #Python
Django+Nginx+uWSGI 定时任务的实现方法
Jan 22 #Python
梳理总结Python开发中需要摒弃的18个坏习惯
Jan 22 #Python
Pandas搭配lambda组合使用详解
Jan 22 #Python
Python中的tkinter库简单案例详解
Jan 22 #Python
解析python中的jsonpath 提取器
Jan 18 #Python
Python中如何处理常见报错
Jan 18 #Python
You might like
PHP4(windows版本)中的COM函数
2006/10/09 PHP
php获取从百度搜索进入网站的关键词的详细代码
2014/01/08 PHP
php数组中包含中文的排序方法
2014/06/03 PHP
JQuery 弹出框定位实现方法
2010/12/02 Javascript
JQuery将文本转化成JSON对象需要注意的问题
2011/05/09 Javascript
js 阻止子元素响应父元素的onmouseout事件具体实现
2013/12/23 Javascript
nodejs中实现路由功能
2014/12/29 NodeJs
javascript每日必学之循环
2016/02/19 Javascript
详解JS正则replace的使用方法
2016/03/06 Javascript
HTML5基于Tomcat 7.0实现WebSocket连接并实现简单的实时聊天
2016/10/31 Javascript
详解angularjs结合pagination插件实现分页功能
2017/02/10 Javascript
jQuery上传插件webupload使用方法
2017/08/01 jQuery
浅谈mvvm-simple双向绑定简单实现
2018/04/18 Javascript
vue和webpack安装命令详解
2018/06/15 Javascript
jQuery-ui插件sortable实现自由拖动排序
2018/12/01 jQuery
layer.alert自定义关闭回调事件的方法
2019/09/27 Javascript
python UNIX_TIMESTAMP时间处理方法分析
2016/04/18 Python
python中私有函数调用方法解密
2016/04/29 Python
Python何时应该使用Lambda函数
2019/07/02 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
2019/10/24 Python
Python enumerate函数遍历数据对象组合过程解析
2019/12/11 Python
解决tensorflow打印tensor有省略号的问题
2020/02/04 Python
python实现一个猜拳游戏
2020/04/05 Python
解决jupyter notebook显示不全出现框框或者乱码问题
2020/04/09 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
常用的10个Python实用小技巧
2020/08/10 Python
html5画布旋转效果示例
2014/01/27 HTML / CSS
利用canvas实现图片压缩的示例代码
2018/07/17 HTML / CSS
美国最大的旗帜经销商:Carrot-Top
2018/02/26 全球购物
汽车运用工程专业毕业生推荐信
2013/12/25 职场文书
高中物理教学反思
2014/02/08 职场文书
怎么写自荐书范文
2014/02/12 职场文书
幼儿园教研活动总结
2014/04/30 职场文书
对外汉语专业大学生职业生涯规划书
2014/10/11 职场文书
圣贤教育改变命运观后感
2015/06/16 职场文书
Vue vee-validate插件的简单使用
2021/06/22 Vue.js