最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python制作基礎(chǔ)學(xué)生信息管理系統(tǒng)

 更新時(shí)間:2021年12月12日 17:03:05   作者:Python程序u猿  
本文詳細(xì)講解了Python制作基礎(chǔ)學(xué)生信息管理系統(tǒng)的實(shí)現(xiàn),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

?一.前言

學(xué)生信息管理系統(tǒng),相信大家或多或少都有做過

最近看很多學(xué)生作業(yè)都是制作一個(gè)學(xué)生信息管理系統(tǒng)

于是,今天帶大家做一個(gè)簡單的學(xué)生信息管理系統(tǒng)

二.開發(fā)環(huán)境:

我用到的開發(fā)環(huán)境

  • Python 3.8
  • Pycharm 2021.2

三.涉及知識(shí)點(diǎn)

  • Python基礎(chǔ)語法
  • 基本的數(shù)據(jù)類型與結(jié)構(gòu)
  • 基本的邏輯控制語句
  • 實(shí)戰(zhàn)小項(xiàng)目

四.接下來我們開始敲代碼

我們一步步來完成學(xué)生信息管理系統(tǒng)

第一步:制作學(xué)生信息管理系統(tǒng)的界面

  1. 程序啟動(dòng),顯示信息管理系統(tǒng)歡迎界面,并顯示功能菜單 (print)
  2. 用戶用數(shù)字選擇不同的功能 (input)
  3. 根據(jù)功能選擇,執(zhí)行不同的功能 (if 判斷 多分支選擇)
  4. 需要記錄學(xué)生的 姓名、語文成績、數(shù)學(xué)成績、英語成績 、總分 (input, 數(shù)據(jù)容器存儲(chǔ)輸入的學(xué)生信息)
  5. 如果查詢到指定的學(xué)生信息,用戶可以選擇 修改 或者 刪除 信息 (多分支選擇里面的邏輯)
  6. 進(jìn)入或退出時(shí)加載或保存數(shù)據(jù) (文件操作)
"""
str_info = """**************************************************
歡迎使用【學(xué)生信息管理系統(tǒng)】V1.0
請(qǐng)選擇你想要進(jìn)行的操作
1. 新建學(xué)生信息
2. 顯示全部信息
3. 查詢學(xué)生信息
4. 刪除學(xué)生信息
5. 修改學(xué)生信息

0. 退出系統(tǒng)
**************************************************"""


while True:
    # 1. 程序啟動(dòng),顯示信息管理系統(tǒng)歡迎界面,并顯示功能菜單 (print)
    print(str_info)
    # 2.用戶用數(shù)字選擇不同的功能(input)
    action = input('請(qǐng)選擇你要進(jìn)行的操作(輸入數(shù)字):')
    if action == '1':
        print('1. 新建學(xué)生信息')
    elif action == '2':
        print('2. 顯示全部信息')
    elif action == '3':
        print('3. 查詢學(xué)生信息')
    elif action == '4':
        print('4. 刪除學(xué)生信息')
    elif action == '5':
        print('5. 修改學(xué)生信息')
    elif action == '0':
        print('0. 退出系統(tǒng)')
        break
    else:
        print('請(qǐng)輸入正確的選項(xiàng)!')

效果:

**************************************************
歡迎使用【學(xué)生信息管理系統(tǒng)】V1.0
請(qǐng)選擇你想要進(jìn)行的操作
1. 新建學(xué)生信息
2. 顯示全部信息
3. 查詢學(xué)生信息
4. 刪除學(xué)生信息
5. 修改學(xué)生信息

0. 退出系統(tǒng)
**************************************************

第二步:新建學(xué)生信息

需要記錄學(xué)生的 姓名、語文成績、數(shù)學(xué)成績、英語成績 、總分 (input, 數(shù)據(jù)容器存儲(chǔ)輸入的學(xué)生信息)

name = input('請(qǐng)輸入學(xué)生的姓名:')
chinese = int(input('請(qǐng)輸入學(xué)生的語文成績:'))
math = int(input('請(qǐng)輸入學(xué)生的數(shù)學(xué)成績:'))
english = int(input('請(qǐng)輸入學(xué)生的英語成績:'))

total = chinese + math + english

# 用什么數(shù)據(jù)容器接受比較好?  存儲(chǔ)信息, 取值  采用字典
students = [
    {'name': name, 'chinese': chinese, 'math': math, 'english': english, 'total': total}
]

print(students)

第三步:顯示全部學(xué)生信息

students = [
    {'name': '正心', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
    {'name': '張三', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
    {'name': '李四', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
    {'name': '王五', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
]

print('姓名\t語文\t數(shù)學(xué)\t英語\t總分')

for stu in students:
    # print(stu)
    print(f'{stu["name"]}\t{stu["chinese"]}\t\t{stu["math"]}\t\t{stu["english"]}\t\t{stu["total"]}')

第四步:查詢學(xué)生信息

students = [
    {'name': '正心', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
    {'name': '張三', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
    {'name': '李四', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
    {'name': '王五', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
]

# 5. 如果查詢到指定的學(xué)生信息,用戶可以選擇 修改 或者 刪除 信息 (多分支選擇里面的邏輯)

name = input('請(qǐng)輸入你要查詢學(xué)生的姓名:')

# 先遍歷所有學(xué)生
for stu in students:
    # 如果滿足條件, 就是查詢到了
    if name == stu['name']:
        print('姓名\t語文\t數(shù)學(xué)\t英語\t總分')
        print(f'{stu["name"]}\t{stu["chinese"]}\t\t{stu["math"]}\t\t{stu["english"]}\t\t{stu["total"]}')
        # 一旦查詢到了就停止查詢
        break

else:
    # 沒找到
    print('該學(xué)生不存在, 請(qǐng)檢查名字是否輸入正確!')

第五步:修改學(xué)生信息

import pprint

students = [
    {'name': '正心', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
    {'name': '張三', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
    {'name': '李四', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
    {'name': '王五', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
]

# 5. 如果查詢到指定的學(xué)生信息,用戶可以選擇 修改 或者 刪除 信息 (多分支選擇里面的邏輯)

name = input('請(qǐng)輸入你要修改學(xué)生的姓名:')

# 先遍歷所有學(xué)生
for stu in students:
    # 如果滿足條件, 就是查詢到了, 找到了這個(gè)學(xué)生
    # 找到了需要修改的學(xué)生
    if name == stu['name']:
        # 不想修改, 直接回車
        print('(如果不想修改,直接回車!)')
        name = input('請(qǐng)重新輸入學(xué)生的姓名:')
        chinese = input('請(qǐng)重新輸入學(xué)生的語文成績:')
        math = input('請(qǐng)重新輸入學(xué)生的數(shù)學(xué)成績:')
        english = input('請(qǐng)重新輸入學(xué)生的英語成績:')
        # total = chinese + math + english

        # 用戶輸入了數(shù)據(jù)才修改
        if name:
            stu['name'] = name
        if chinese:
            stu['chinese'] = int(chinese)
        if math:
            stu['math'] = int(math)
        if english:
            stu['english'] = int(english)

        stu['total'] = stu['chinese'] + stu['math'] + stu['english']

        break

else:
    # 沒找到
    print('該學(xué)生不存在, 請(qǐng)檢查名字是否輸入正確!')

pprint.pprint(students)

第六步: 刪除學(xué)生信息

import pprint

students = [
    {'name': '正心', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
    {'name': '張三', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
    {'name': '李四', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
    {'name': '王五', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
]

# 5. 如果查詢到指定的學(xué)生信息,用戶可以選擇 修改 或者 刪除 信息 (多分支選擇里面的邏輯)

name = input('請(qǐng)輸入你要?jiǎng)h除學(xué)生的姓名:')

# 先遍歷所有學(xué)生
for stu in students:
    # 找到學(xué)生
    if name == stu['name']:
        # 刪除學(xué)生
        students.remove(stu)
        break

else:
    # 沒找到
    print('該學(xué)生不存在, 請(qǐng)檢查名字是否輸入正確!')

pprint.pprint(students)

然后把他們拼接起來,就完成了我們簡單的一個(gè)學(xué)生管理系統(tǒng)!

五、最后代碼

import json

str_info = """**************************************************
歡迎使用【學(xué)生信息管理系統(tǒng)】V1.0
請(qǐng)選擇你想要進(jìn)行的操作
1. 新建學(xué)生信息
2. 顯示全部信息
3. 查詢學(xué)生信息
4. 刪除學(xué)生信息
5. 修改學(xué)生信息

0. 退出系統(tǒng)
**************************************************"""

# 讀取文件
with open('students.json', mode='r', encoding='utf-8') as f:
    students_str = f.read()

students = json.loads(students_str)

while True:
    # 1. 程序啟動(dòng),顯示信息管理系統(tǒng)歡迎界面,并顯示功能菜單 (print)
    print(str_info)
    # 2.用戶用數(shù)字選擇不同的功能(input)
    action = input('請(qǐng)選擇你要進(jìn)行的操作(輸入數(shù)字):')
    if action == '1':
        print('1. 新建學(xué)生信息')
        name = input('請(qǐng)輸入學(xué)生的姓名:')
        chinese = int(input('請(qǐng)輸入學(xué)生的語文成績:'))
        math = int(input('請(qǐng)輸入學(xué)生的數(shù)學(xué)成績:'))
        english = int(input('請(qǐng)輸入學(xué)生的英語成績:'))

        total = chinese + math + english
        # 新的學(xué)生
        stu = {'name': name, 'chinese': chinese, 'math': math, 'english': english, 'total': total}
        students.append(stu)

    elif action == '2':
        print('2. 顯示全部信息')
        print('姓名\t語文\t數(shù)學(xué)\t英語\t總分')

        for stu in students:
            print(f'{stu["name"]}\t{stu["chinese"]}\t\t{stu["math"]}\t\t{stu["english"]}\t\t{stu["total"]}')

    elif action == '3':
        print('3. 查詢學(xué)生信息')
        name = input('請(qǐng)輸入你要查詢學(xué)生的姓名:')

        # 先遍歷所有學(xué)生
        for stu in students:
            # 如果滿足條件, 就是查詢到了
            if name == stu['name']:
                print('姓名\t語文\t數(shù)學(xué)\t英語\t總分')
                print(f'{stu["name"]}\t{stu["chinese"]}\t\t{stu["math"]}\t\t{stu["english"]}\t\t{stu["total"]}')
                # 一旦查詢到了就停止查詢
                break

        else:
            # 沒找到
            print('該學(xué)生不存在, 請(qǐng)檢查名字是否輸入正確!')

    elif action == '4':
        print('4. 刪除學(xué)生信息')
        name = input('請(qǐng)輸入你要?jiǎng)h除學(xué)生的姓名:')

        # 先遍歷所有學(xué)生
        for stu in students:
            # 找到學(xué)生
            if name == stu['name']:
                # 刪除學(xué)生
                students.remove(stu)
                break

        else:
            # 沒找到
            print('該學(xué)生不存在, 請(qǐng)檢查名字是否輸入正確!')
    elif action == '5':
        print('5. 修改學(xué)生信息')
        name = input('請(qǐng)輸入你要修改學(xué)生的姓名:')

        # 先遍歷所有學(xué)生
        for stu in students:
            # 如果滿足條件, 就是查詢到了, 找到了這個(gè)學(xué)生
            # 找到了需要修改的學(xué)生
            if name == stu['name']:
                # 不想修改, 直接回車
                print('(如果不想修改,直接回車!)')
                name = input('請(qǐng)重新輸入學(xué)生的姓名:')
                chinese = input('請(qǐng)重新輸入學(xué)生的語文成績:')
                math = input('請(qǐng)重新輸入學(xué)生的數(shù)學(xué)成績:')
                english = input('請(qǐng)重新輸入學(xué)生的英語成績:')
                # total = chinese + math + english

                # 用戶輸入了數(shù)據(jù)才修改
                if name:
                    stu['name'] = name
                if chinese:
                    stu['chinese'] = int(chinese)
                if math:
                    stu['math'] = int(math)
                if english:
                    stu['english'] = int(english)

                stu['total'] = stu['chinese'] + stu['math'] + stu['english']
                break
        else:
            # 沒找到
            print('該學(xué)生不存在, 請(qǐng)檢查名字是否輸入正確!')
    elif action == '0':
        print('0. 退出系統(tǒng)')
        with open('students.json', mode='w', encoding='utf-8') as f:
            # 把列表對(duì)象轉(zhuǎn)化成字符串  ascii 編碼
            students_str = json.dumps(students, ensure_ascii=False)
            f.write(students_str)
            print(students_str)
        break
    else:
        print('請(qǐng)輸入正確的選項(xiàng)!')

到此這篇關(guān)于Python制作基礎(chǔ)學(xué)生信息管理系統(tǒng)的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python面向?qū)ο蟪绦蛟O(shè)計(jì)類的封裝與繼承用法示例

    Python面向?qū)ο蟪绦蛟O(shè)計(jì)類的封裝與繼承用法示例

    這篇文章主要介紹了Python面向?qū)ο蟪绦蛟O(shè)計(jì)類的封裝與繼承用法,結(jié)合實(shí)例形式分析了Python面向?qū)ο蟪绦蛟O(shè)計(jì)中類的封裝、繼承相關(guān)概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2019-04-04
  • 詳解Selenium+PhantomJS+python簡單實(shí)現(xiàn)爬蟲的功能

    詳解Selenium+PhantomJS+python簡單實(shí)現(xiàn)爬蟲的功能

    這篇文章主要介紹了詳解Selenium+PhantomJS+python簡單實(shí)現(xiàn)爬蟲的功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Django使用Mysql數(shù)據(jù)庫已經(jīng)存在的數(shù)據(jù)表方法

    Django使用Mysql數(shù)據(jù)庫已經(jīng)存在的數(shù)據(jù)表方法

    今天小編就為大家分享一篇Django使用Mysql數(shù)據(jù)庫已經(jīng)存在的數(shù)據(jù)表方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • python 根據(jù)csv表頭、列號(hào)讀取數(shù)據(jù)的實(shí)現(xiàn)

    python 根據(jù)csv表頭、列號(hào)讀取數(shù)據(jù)的實(shí)現(xiàn)

    這篇文章主要介紹了python 根據(jù)csv表頭、列號(hào)讀取數(shù)據(jù)的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python如何用pyecharts制作詞云圖

    python如何用pyecharts制作詞云圖

    大家好,本篇文章主要講的是python如何用pyecharts制作詞云圖,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • python使用psutil模塊獲取系統(tǒng)狀態(tài)

    python使用psutil模塊獲取系統(tǒng)狀態(tài)

    作為程序猿,大家可能都熟悉linux系統(tǒng)的基礎(chǔ)信息獲取方法都是通過shell來獲取,但是在python中,我們還可以使用psutil模塊來獲取系統(tǒng)信息。psutil模塊把shell查看系統(tǒng)基礎(chǔ)信息的功能都包裝了下,使用更加簡單,功能豐富。
    2016-08-08
  • python中的import絕對(duì)導(dǎo)入與相對(duì)導(dǎo)入詳解

    python中的import絕對(duì)導(dǎo)入與相對(duì)導(dǎo)入詳解

    這篇文章主要介紹了python中的import絕對(duì)導(dǎo)入與相對(duì)導(dǎo)入詳解,在使用python做一些簡單項(xiàng)目時(shí),import一般不會(huì)出現(xiàn)問題,但項(xiàng)目結(jié)構(gòu)復(fù)雜時(shí),import可能發(fā)生報(bào)錯(cuò),需要的朋友可以參考下
    2023-11-11
  • Python3數(shù)據(jù)庫操作包pymysql的操作方法

    Python3數(shù)據(jù)庫操作包pymysql的操作方法

    這篇文章主要介紹了Python3數(shù)據(jù)庫操作包pymysql的操作方法,文章通過實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2018-07-07
  • 利用python實(shí)現(xiàn)數(shù)據(jù)分析

    利用python實(shí)現(xiàn)數(shù)據(jù)分析

    為什么要利用python進(jìn)行數(shù)據(jù)分析?python擁有一個(gè)巨大的活躍的科學(xué)計(jì)算社區(qū),擁有不斷改良的庫,能夠輕松的集成C,C++,Fortran代碼(Cython項(xiàng)目),可以同時(shí)用于研究和原型的構(gòu)建以及生產(chǎn)系統(tǒng)的構(gòu)建。
    2017-01-01
  • 詳解Python中的三元運(yùn)算

    詳解Python中的三元運(yùn)算

    本文詳細(xì)介紹了Python中的三元運(yùn)算符的使用方法和技巧,三元運(yùn)算也稱三目運(yùn)算,在Python中,三元運(yùn)算也稱為條件表達(dá)式,感興趣的小伙伴可以參考閱讀
    2023-04-04

最新評(píng)論

金湖县| 巧家县| 栾川县| 扎鲁特旗| 禄劝| 资兴市| 乐平市| 苍溪县| 松溪县| 武山县| 旬阳县| 金湖县| 汉阴县| 康马县| 阿克| 玉林市| 姜堰市| 浙江省| 青海省| 二手房| 新昌县| 安丘市| 三亚市| 晋宁县| 常山县| 新郑市| 葵青区| 通河县| 黄骅市| 福建省| 武汉市| 嘉定区| 新源县| 桃园市| 长宁区| 汝州市| 沂南县| 始兴县| 新田县| 高碑店市| 京山县|