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可執行程序

首先安裝一下這個模塊Pyinstallerwin+r打開搜索框,輸入cmd回車打開命令提示符窗口。

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

你的代碼保存路徑盡量換成英文的,免得報錯瞭。

比如你的代碼放在D盤瞭,你就在命令提示符窗口把目錄切換到D盤。

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

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

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

然後回車開始打包

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

運行一下看看

新建信息

查詢信息

好傢夥,是不是簡簡單單!

到此這篇關於Python實現學生管理系統並生成exe可執行文件詳解流程的文章就介紹到這瞭,更多相關Python 學生管理系統內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: