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

來 ,開搞!
一、準(zhǔn)備工作
用到的軟件準(zhǔn)備一哈
- Python 3.8
- Pycharm 2021.2
知識點
- Python基礎(chǔ)語法
- 基本的數(shù)據(jù)類型與結(jié)構(gòu)
- 基本的邏輯控制語句
- 實戰(zhàn)小項目
二、代碼流程
= 賦值 就是把等號左邊的內(nèi)容 用 等號右邊的這個變量名字 接收
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},
]
整一個死循環(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)
# 多條件判斷的語句 一個 = 是賦值 兩個 = 比較 是否相等
# 注釋
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)計元素個數(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鍵位 四個空格 \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('請輸入你要刪除的學(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('請輸入你要刪除的學(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í)行程序
首先安裝一下這個模塊Pyinstaller , win+r打開搜索框,輸入cmd回車打開命令提示符窗口。

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

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

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

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

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

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


運(yùn)行一下看看

新建信息

查詢信息

好家伙,是不是簡簡單單!
到此這篇關(guān)于Python實現(xiàn)學(xué)生管理系統(tǒng)并生成exe可執(zhí)行文件詳解流程的文章就介紹到這了,更多相關(guān)Python 學(xué)生管理系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python實現(xiàn)一個完整學(xué)生管理系統(tǒng)
- 基于Python實現(xiàn)一個簡單的學(xué)生管理系統(tǒng)
- 基于Python實現(xiàn)面向?qū)ο蟀鎸W(xué)生管理系統(tǒng)
- Python實現(xiàn)功能全面的學(xué)生管理系統(tǒng)
- 一篇文章教你用Python實現(xiàn)一個學(xué)生管理系統(tǒng)
- Python實現(xiàn)學(xué)生管理系統(tǒng)(面向?qū)ο蟀?
- python實現(xiàn)學(xué)生管理系統(tǒng)源碼
- Python使用pyinstaller實現(xiàn)學(xué)生管理系統(tǒng)流程
相關(guān)文章
Python多維/嵌套字典數(shù)據(jù)無限遍歷的實現(xiàn)
下面小編就為大家?guī)硪黄狿ython多維/嵌套字典數(shù)據(jù)無限遍歷的實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11
python udp如何實現(xiàn)同時收發(fā)信息
這篇文章主要介紹了python udp如何實現(xiàn)同時收發(fā)信息,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05
Python數(shù)據(jù)分析之pandas讀取數(shù)據(jù)
Pandas讀取的文件主要有CSV,TXT和JSON,今天就整理了這3種文件格式的讀取和導(dǎo)出代碼,文中有非常詳細(xì)的代碼示例及介紹,需要的朋友可以參考下2021-06-06
巧用python和libnmapd,提取Nmap掃描結(jié)果
本文將會講述一系列如何使用一行代碼解析 nmap 掃描結(jié)果,其中會在 Python 環(huán)境中使用到 libnmap 里的 NmapParser 庫,這個庫可以很容易的幫助我們解析 nmap 的掃描結(jié)果2016-08-08
Pycharm報錯Non-zero?exit?code?(2)的完美解決方案
最近在使用pycharm安裝或升級模塊時出現(xiàn)了錯誤,下面這篇文章主要給大家介紹了關(guān)于Pycharm報錯Non-zero?exit?code?(2)的完美解決方案,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06

