由于Python都会了,学校教的确实基础,平时就没怎么去上课,让美女老师天天脑壳痛,这不快毕业了,让我做一个学生管理系统出来,还要打包成exe发给她,她就不追究我不上课的问题了~
话说这能难倒我吗?赶赶单单~
 来 ,开搞!
一、准备工作
用到的软件准备一哈
知识点
- 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)
input_world = input('请输入你想要进行的操作: ')
if 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遍历循环
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:
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)
input_world = input('请输入你想要进行的操作: ')
if 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:
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 文件夹,你打包好的文件就放在这里咯~  
运行一下看看  新建信息  查询信息  好家伙,是不是简简单单! 兄弟们,动动小手点个赞关注一下呗~
|