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中unittest用法实例
Sep 25 Python
python制作一个桌面便签软件
Aug 09 Python
Python实现脚本锁功能(同时只能执行一个脚本)
May 10 Python
对python 各种删除文件失败的处理方式分享
Apr 24 Python
详解Python 切片语法
Jun 10 Python
解决django后台样式丢失,css资源加载失败的问题
Jun 11 Python
python面试题之列表声明实例分析
Jul 08 Python
python实现高斯(Gauss)迭代法的例子
Nov 20 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
May 13 Python
利用Python实现某OA系统的自动定位功能
May 27 Python
Python如何输出百分比
Jul 31 Python
Python中可变和不可变对象的深入讲解
Aug 02 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
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
2014/03/13 PHP
Dwz与thinkphp整合下的数据导出到Excel实例
2014/12/04 PHP
php中实现可以返回多个值的函数实例
2015/03/21 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
2016/03/21 PHP
PHP环境搭建(php+Apache+mysql)
2016/11/14 PHP
详解PHP PDO简单教程
2019/05/28 PHP
ExtJs 3.1 XmlTreeLoader Example Error
2010/02/09 Javascript
为原生js Array增加each方法
2012/04/07 Javascript
JavaScript 和 Java 的区别浅析
2013/07/31 Javascript
jQuery实现数秒后自动提交form的方法
2015/03/05 Javascript
javascript实现ecshop搜索框键盘上下键切换控制
2015/03/18 Javascript
easyui window refresh 刷新两次的解决方法(推荐)
2016/05/18 Javascript
基于JavaScript实现窗口拖动效果
2017/01/18 Javascript
微信小程序之MaterialDesign--input组件详解
2017/02/15 Javascript
单击按钮发送验证码,出现倒计时的简单实例
2017/03/17 Javascript
详解基于node的前端项目编译时内存溢出问题
2017/08/01 Javascript
浅谈vue项目重构技术要点和总结
2018/01/23 Javascript
在vue项目中使用Nprogress.js进度条的方法
2018/01/31 Javascript
Python实现Const详解
2015/01/27 Python
Python写的英文字符大小写转换代码示例
2015/03/06 Python
python脚本内运行linux命令的方法
2015/07/02 Python
使用Python保存网页上的图片或者保存页面为截图
2016/03/05 Python
python实现分页效果
2017/10/25 Python
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
Python常见数据结构之栈与队列用法示例
2019/01/14 Python
FFrpc python客户端lib使用解析
2019/08/24 Python
详解Python3定时器任务代码
2019/09/23 Python
python实现tail实时查看服务器日志示例
2019/12/24 Python
中国宠物用品商城:E宠商城
2016/08/27 全球购物
受希腊女神灵感的晚礼服、鸡尾酒礼服和婚纱:THEIA
2018/04/15 全球购物
Speedo速比涛中国官方网站:全球领先泳装运动品牌
2018/04/24 全球购物
银行奉献演讲稿
2014/09/16 职场文书
爱国主义教育基地观后感
2015/06/18 职场文书
城镇居民医疗保险工作总结
2015/08/10 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书
Nginx 配置 HTTPS的详细过程
2022/05/30 Servers