Python實(shí)現(xiàn)學(xué)生管理系統(tǒng)并生成exe可執(zhí)行文件詳解流程
話說這能難倒我嗎?趕趕單單~

來 ,開搞!
一、準(zhǔn)備工作
用到的軟件準(zhǔn)備一哈
- Python 3.8
- Pycharm 2021.2
知識點(diǎn)
- Python基礎(chǔ)語法
- 基本的數(shù)據(jù)類型與結(jié)構(gòu)
- 基本的邏輯控制語句
- 實(shí)戰(zhàn)小項(xiàng)目
二、代碼流程
= 賦值 就是把等號左邊的內(nèi)容 用 等號右邊的這個(gè)變量名字 接收
msg = """************************************************** 歡迎使用【學(xué)生信息管理系統(tǒng)】V1.0 請選擇你想要進(jìn)行的操作 1. 新建學(xué)生信息 2. 顯示全部信息 3. 查詢學(xué)生信息 4. 刪除學(xué)生信息 5. 修改學(xué)生信息 0. 退出系統(tǒng) **************************************************"""
學(xué)生信息用列表保存,并且里面字典數(shù)據(jù)類型
student_info = [
{'姓名': '木子', '語文': 60, '數(shù)學(xué)': 60, '英語': 60, '總分': 180},
{'姓名': '巳月', '語文': 60, '數(shù)學(xué)': 60, '英語': 60, '總分': 180},
{'姓名': '婧琪', '語文': 60, '數(shù)學(xué)': 60, '英語': 60, '總分': 180},
]
整一個(gè)死循環(huán)
while True:
print(msg) # 輸出函數(shù) print
# = 左邊都是自定義的變量 變量不能以數(shù)字開頭 不推薦使用關(guān)鍵字作為變量名 建議變量見名知意
# 輸入的內(nèi)容 數(shù)據(jù)類型是字符串 數(shù)據(jù)類型
input_world = input('請輸入你想要進(jìn)行的操作: ')
# print('你選擇的操作是: ', input_world)
# 多條件判斷的語句 一個(gè) = 是賦值 兩個(gè) = 比較 是否相等
# 注釋
if input_world == '1': # 判斷 input_world(輸入的內(nèi)容) 是否 等于 1
print('新建學(xué)生信息')
name = input('請輸入學(xué)生的姓名: ')
chinese = input('請輸入學(xué)生的語文成績: ')
math = input('請輸入學(xué)生的數(shù)學(xué)成績: ')
English = input('請輸入學(xué)生的英語成績: ')
# len() == 10 統(tǒng)計(jì)元素個(gè)數(shù) 如果 多或者少 進(jìn)行判斷
total = int(chinese) + int(math) + int(English) # 總分 轉(zhuǎn)整型
dit = {
'姓名': name,
'語文': chinese,
'數(shù)學(xué)': math,
'英語': English,
'總分': total,
}
student_info.append(dit)
elif input_world == '2':
print('顯示全部信息')
print('姓名\t語文\t數(shù)學(xué)\t英語\t總分')
for遍歷循環(huán)
for student in student_info:
# 隔空 空tab鍵位 四個(gè)空格 \n換行
# {} 字典數(shù)據(jù)類型 根據(jù)鍵值對提取內(nèi)容 (根據(jù)冒號左邊的內(nèi)容 提取冒號右邊的內(nèi)容)
# 字典取值的方法 student['語文']
print(student['姓名'] + '\t' +
str(student['語文']) + '\t\t' +
str(student['數(shù)學(xué)']) + '\t\t' +
str(student['英語']) + '\t\t' +
str(student['總分'])
)
查詢信息
elif input_world == '3':
print('查詢學(xué)生信息')
input_name = input('請輸入你要查詢的學(xué)生姓名: ')
for student in student_info:
if student['姓名'] == input_name:
print('姓名\t語文\t數(shù)學(xué)\t英語\t總分')
# 格式整齊
print(student['姓名'] + '\t' +
str(student['語文']) + '\t\t' +
str(student['數(shù)學(xué)']) + '\t\t' +
str(student['英語']) + '\t\t' +
str(student['總分'])
)
break # 跳出循環(huán)
else:
print('學(xué)生信息有誤, 查詢信息失敗')
刪除信息
elif input_world == '4':
print('刪除學(xué)生信息')
input_name = input('請輸入你要?jiǎng)h除的學(xué)生姓名: ')
for student in student_info:
if student['姓名'] == input_name:
# 列表如何刪除元素
# pop 彈出列表元素 并且刪除
student_info.remove(student)
print(student['姓名'], '信息刪除成功')
break
else:
print('學(xué)生信息有誤, 刪除信息失敗')
修改信息
elif input_world == '5':
print('修改學(xué)生信息')
input_name = input('請輸入你要修改的學(xué)生姓名: ')
for student in student_info:
if student['姓名'] == input_name:
chinese = input('請重新輸入語文成績: ')
math = input('請重新輸入數(shù)學(xué)成績: ')
english = input('請重新輸入英語成績: ')
total = int(chinese) + int(math) + int(english)
student['語文'] = chinese
student['數(shù)學(xué)'] = math
student['英語'] = english
student['總分'] = total
break
else:
print('學(xué)生信息有誤, 修改信息失敗')
退出
elif input_world == '0':
print('退出系統(tǒng)')
break
完整代碼
msg = """**************************************************
歡迎使用【學(xué)生信息管理系統(tǒng)】V1.0
請選擇你想要進(jìn)行的操作
1. 新建學(xué)生信息
2. 顯示全部信息
3. 查詢學(xué)生信息
4. 刪除學(xué)生信息
5. 修改學(xué)生信息
0. 退出系統(tǒng)
**************************************************"""
student_info = [
{'姓名': '木子', '語文': 60, '數(shù)學(xué)': 60, '英語': 60, '總分': 180},
{'姓名': '巳月', '語文': 60, '數(shù)學(xué)': 60, '英語': 60, '總分': 180},
{'姓名': '婧琪', '語文': 60, '數(shù)學(xué)': 60, '英語': 60, '總分': 180},
]
# 死循環(huán)
while True:
print(msg) # 輸出函數(shù) print
input_world = input('請輸入你想要進(jìn)行的操作: ')
if input_world == '1': # 判斷 input_world(輸入的內(nèi)容) 是否 等于 1
print('新建學(xué)生信息')
name = input('請輸入學(xué)生的姓名: ')
chinese = input('請輸入學(xué)生的語文成績: ')
math = input('請輸入學(xué)生的數(shù)學(xué)成績: ')
English = input('請輸入學(xué)生的英語成績: ')
total = int(chinese) + int(math) + int(English) # 總分 轉(zhuǎn)整型
dit = {
'姓名': name,
'語文': chinese,
'數(shù)學(xué)': math,
'英語': English,
'總分': total,
}
student_info.append(dit)
elif input_world == '2':
print('顯示全部信息')
print('姓名\t語文\t數(shù)學(xué)\t英語\t總分')
for student in student_info:
print(student['姓名'] + '\t' +
str(student['語文']) + '\t\t' +
str(student['數(shù)學(xué)']) + '\t\t' +
str(student['英語']) + '\t\t' +
str(student['總分'])
)
elif input_world == '3':
print('查詢學(xué)生信息')
input_name = input('請輸入你要查詢的學(xué)生姓名: ')
for student in student_info:
if student['姓名'] == input_name:
print('姓名\t語文\t數(shù)學(xué)\t英語\t總分')
# 格式整齊
print(student['姓名'] + '\t' +
str(student['語文']) + '\t\t' +
str(student['數(shù)學(xué)']) + '\t\t' +
str(student['英語']) + '\t\t' +
str(student['總分'])
)
break # 跳出循環(huán)
else:
print('學(xué)生信息有誤, 查詢信息失敗')
elif input_world == '4':
print('刪除學(xué)生信息')
input_name = input('請輸入你要?jiǎng)h除的學(xué)生姓名: ')
for student in student_info:
if student['姓名'] == input_name:
# 列表如何刪除元素
# pop 彈出列表元素 并且刪除
student_info.remove(student)
print(student['姓名'], '信息刪除成功')
break
else:
print('學(xué)生信息有誤, 刪除信息失敗')
elif input_world == '5':
print('修改學(xué)生信息')
input_name = input('請輸入你要修改的學(xué)生姓名: ')
for student in student_info:
if student['姓名'] == input_name:
chinese = input('請重新輸入語文成績: ')
math = input('請重新輸入數(shù)學(xué)成績: ')
english = input('請重新輸入英語成績: ')
total = int(chinese) + int(math) + int(english)
student['語文'] = chinese
student['數(shù)學(xué)'] = math
student['英語'] = english
student['總分'] = total
break
else:
print('學(xué)生信息有誤, 修改信息失敗')
elif input_world == '0':
print('退出系統(tǒng)')
break
else:
print('請輸入正確的操作')
三、打包exe可執(zhí)行程序
首先安裝一下這個(gè)模塊Pyinstaller , win+r打開搜索框,輸入cmd回車打開命令提示符窗口。

輸入pip install Pyinstaller即可安裝成功。

你的代碼保存路徑盡量換成英文的,免得報(bào)錯(cuò)了。
比如你的代碼放在D盤了,你就在命令提示符窗口把目錄切換到D盤。

然后輸入CD +空格+你的文件地址,比如我放在D盤的666文件夾了。

這時(shí)候開始打包,在命令提示符窗口輸入pyinstaller -F -w加上你的代碼文件名,一定帶上后綴.py

這里解釋一下,-F 是生成exe文件的,一定要用大寫,不然會(huì)失??;-w大寫小都可以,它是解決打包成功后運(yùn)行exe文件會(huì)閃黑框問題,盡量加上,你也不想發(fā)給別人裝逼的時(shí)候被挑刺吧。
然后回車開始打包

打開dist文件夾,你打包好的文件就放在這里咯~


運(yùn)行一下看看

新建信息

查詢信息

好家伙,是不是簡簡單單!
到此這篇關(guān)于Python實(shí)現(xiàn)學(xué)生管理系統(tǒng)并生成exe可執(zhí)行文件詳解流程的文章就介紹到這了,更多相關(guān)Python 學(xué)生管理系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python實(shí)現(xiàn)一個(gè)完整學(xué)生管理系統(tǒng)
- 基于Python實(shí)現(xiàn)一個(gè)簡單的學(xué)生管理系統(tǒng)
- 基于Python實(shí)現(xiàn)面向?qū)ο蟀鎸W(xué)生管理系統(tǒng)
- Python實(shí)現(xiàn)功能全面的學(xué)生管理系統(tǒng)
- 一篇文章教你用Python實(shí)現(xiàn)一個(gè)學(xué)生管理系統(tǒng)
- Python實(shí)現(xiàn)學(xué)生管理系統(tǒng)(面向?qū)ο蟀?
- python實(shí)現(xiàn)學(xué)生管理系統(tǒng)源碼
- Python使用pyinstaller實(shí)現(xiàn)學(xué)生管理系統(tǒng)流程
相關(guān)文章
python實(shí)現(xiàn)三次密碼驗(yàn)證的示例
這篇文章主要介紹了python實(shí)現(xiàn)三次密碼驗(yàn)證的示例,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04
Pytorch基礎(chǔ)教程之torchserve模型部署解析
torchserve是基于netty網(wǎng)絡(luò)框架實(shí)現(xiàn)的,底層使用EpollServerSocketChannel服務(wù)進(jìn)行網(wǎng)絡(luò)通信,通過epoll多路復(fù)用技術(shù)實(shí)現(xiàn)高并發(fā)網(wǎng)絡(luò)連接處理,這篇文章主要介紹了Pytorch基礎(chǔ)教程之torchserve模型部署和推理,需要的朋友可以參考下2023-07-07
Python數(shù)學(xué)建模學(xué)習(xí)模擬退火算法整數(shù)規(guī)劃問題示例解析
整數(shù)規(guī)劃問題在工業(yè)、經(jīng)濟(jì)、國防、醫(yī)療等各行各業(yè)應(yīng)用十分廣泛,是指規(guī)劃中的變量(全部或部分)限制為整數(shù),屬于離散優(yōu)化問題Discrete Optimization2021-10-10
python自定義函數(shù)實(shí)現(xiàn)一個(gè)數(shù)的三次方計(jì)算方法
今天小編就為大家分享一篇python自定義函數(shù)實(shí)現(xiàn)一個(gè)數(shù)的三次方計(jì)算方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
詳解使用pymysql在python中對mysql的增刪改查操作(綜合)
本篇文章主要介紹了使用pymysql在python中對mysql的增刪改查操作,通過pymysql向數(shù)據(jù)庫進(jìn)行查刪增改,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-01-01
教你利用python實(shí)現(xiàn)企業(yè)微信發(fā)送消息
今天帶大家來練習(xí)python實(shí)戰(zhàn),文中對利用python實(shí)現(xiàn)企業(yè)微信發(fā)送消息作了詳細(xì)的圖文解說及代碼示例,對正在學(xué)習(xí)python的小伙伴很有幫助,需要的朋友可以參考下2021-05-05
Pygame實(shí)戰(zhàn)練習(xí)之炸彈人學(xué)院游戲
炸彈人學(xué)院想必是很多人童年時(shí)期的經(jīng)典游戲,我們依舊能記得抱個(gè)老人機(jī)娛樂的場景,下面這篇文章主要給大家介紹了關(guān)于如何利用python寫一個(gè)簡單的炸彈人學(xué)院小游戲的相關(guān)資料,需要的朋友可以參考下2021-09-09

