Python实现学生管理系统并生成exe可执行文件详解流程
作者:轻松学Python 发布时间:2023-03-11 04:52:42
标签:Python,学生管理系统,生成exe
话说这能难倒我吗?赶赶单单~
来 ,开搞!
一、准备工作
用到的软件准备一哈
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可执行程序
首先安装一下这个模块Pyinstaller
, win+r
打开搜索框,输入cmd
回车打开命令提示符窗口。
输入pip install Pyinstaller
即可安装成功。
你的代码保存路径尽量换成英文的,免得报错了。
比如你的代码放在D盘了,你就在命令提示符窗口把目录切换到D盘。
然后输入CD +空格+你的文件地址,比如我放在D盘的666文件夹了。
这时候开始打包,在命令提示符窗口输入pyinstaller -F -w
加上你的代码文件名,一定带上后缀.py
这里解释一下,-F
是生成exe文件的,一定要用大写,不然会失败;-w
大写小都可以,它是解决打包成功后运行exe文件会闪黑框问题,尽量加上,你也不想发给别人装逼的时候被挑刺吧。
然后回车开始打包
打开dist
文件夹,你打包好的文件就放在这里咯~
运行一下看看
新建信息
查询信息
好家伙,是不是简简单单!
来源:https://blog.csdn.net/ooowwq/article/details/121793107
0
投稿
猜你喜欢
- 引文之前有一篇文章给大家带来了SQL注入的基本知识点以及分类,包含的面比较广但是不深入,于是我准备详细讲讲每一种类型的SQL注入的详细利用方
- 约定:import pandas as pdimport numpy as npfrom numpy import nan as NaN填充
- 酱子们大家好,今天继续分享 Python 小工具今天的小程序,可以一键完成文件整理,一起来看看吧!按照文件格式整理具体来说就是不同的文件后缀
- 最近群里好多人讨论oracle安全问题,今天找了些资料学习了下 获取Oracle当前会话的一些属性 (对于sql注射的环境判断很有用哦) S
- 请问css如何实现一张图片的倒影。出来的效果就像这样:下面是使用了滤镜来实现倒影的效果:<div style=" width
- 希腊Web 设计师Christos Chiotis 发表在 CssGlobe 的一篇文章,讲述了黄金分割率在 CSS 中的应用。黄金分割率是
- 本教程为大家分享了eclipse安装python插件的具体步骤,供大家参考,具体内容如下1.安装python环境python安装包下载地址:
- 官方说明gather可以对一个Tensor进行聚合,声明为:torch.gather(input, dim, index, out=None
- 本文实例为大家分享了Python版名片管理系统的具体代码,供大家参考,具体内容如下先建立cards_main的文件import cards_
- 这里首先给出来我很早之前写的一篇博客,Python实现去除列表中重复元素的方法小结【4种方法】,感兴趣的话可以去看看,今天是在实践过程中又积
- 在使用Keras搭建验证码识别模型时,需要大量的验证码图片。在这里,使用captcha模块生成验证码图片,验证码图片名称为验证码上显示的字符
- 今天偶尔在知乎上看到某大佬用Python写的ATM系统案例,然后观摩了下他的实现思路和源码,感觉受益颇多,于是就根据自己的思路和目前掌握的P
- 最近开始学Python,想直接通过命令行的方式进行学习。奈何没有Tab补全,操作实在麻烦,网上各种百度后无果(x64系统,x86的可以直接下
- 前言最近看到一个题目,看似很简单,其实里面有很深的意义,题目是Python 表达式 i += x 与 i = i + x 等价吗?如果你的回
- rhel5下默认安装mysql5.0后,中文显示为乱码原因:mysql默认字符集是latin,所以中文不能正常显示解决方法:修改配置文件,
- PHP 备份 mysql 数据库的源代码,在完善的 PHP+Mysql 项目中,在后台都会有备份 Mysql 数据库的功能,有了这个功能,对
- 前言K-Means 聚类算法的目标是将 n 个样本划分(聚类)为 K 个簇,在博文《OpenCV与机器学习的碰撞》中,我们已经学习利用 Op
- 现在IE7已经推出一段时间并且渗透到用户当中,不用等太久我们就可以在页面上使用更高级的CSS。两个最有用的项目将是 Child子和Adjac
- 直接上代码import pygameimport randomdef main(): # 初始化pygame &n
- 目前,各大搜索引擎如google、百度、雅虎已经对动态页面诸如asp,php有着不错的支持了,只要动态页面后面的参数不要太长,如控制在3个参