本文详细讲解了Python制作基础学生信息管理系统的实现,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。编程资料领取

目录

一.前言

二.开发环境:

三.涉及知识点

四.接下来我们开始敲代码

第一步:制作学生信息管理系统的界面

第二步:新建学生信息

第三步:显示全部学生信息

第四步:查询学生信息

第五步:修改学生信息

第六步: 删除学生信息

五、最后代码


一.前言

学生信息管理系统,相信大家或多或少都有做过

最近看很多学生作业都是制作一个学生信息管理系统

于是,今天带大家做一个简单的学生信息管理系统

二.开发环境:

我用到的开发环境

  • Python 3.8
  • Pycharm 2021.2

三.涉及知识点

  • Python基础语法
  • 基本的数据类型与结构
  • 基本的逻辑控制语句
  • 实战小项目

四.接下来我们开始敲代码

我们一步步来完成学生信息管理系统

第一步:制作学生信息管理系统的界面

  1. 程序启动,显示信息管理系统欢迎界面,并显示功能菜单 (print)
  2. 用户用数字选择不同的功能 (input)
  3. 根据功能选择,执行不同的功能 (if 判断 多分支选择)
  4. 需要记录学生的 姓名、语文成绩、数学成绩、英语成绩 、总分 (input, 数据容器存储输入的学生信息)
  5. 如果查询到指定的学生信息,用户可以选择 修改 或者 删除 信息 (多分支选择里面的逻辑)
  6. 进入或退出时加载或保存数据 (文件操作)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

"""

str_info = """**************************************************

欢迎使用【学生信息管理系统】V1.0

请选择你想要进行的操作

1. 新建学生信息

2. 显示全部信息

3. 查询学生信息

4. 删除学生信息

5. 修改学生信息

0. 退出系统

**************************************************"""

while True:

    # 1. 程序启动,显示信息管理系统欢迎界面,并显示功能菜单 (print)

    print(str_info)

    # 2.用户用数字选择不同的功能(input)

    action = input('请选择你要进行的操作(输入数字):')

    if action == '1':

        print('1. 新建学生信息')

    elif action == '2':

        print('2. 显示全部信息')

    elif action == '3':

        print('3. 查询学生信息')

    elif action == '4':

        print('4. 删除学生信息')

    elif action == '5':

        print('5. 修改学生信息')

    elif action == '0':

        print('0. 退出系统')

        break

    else:

        print('请输入正确的选项!')

效果:

1

2

3

4

5

6

7

8

9

10

11

**************************************************

欢迎使用【学生信息管理系统】V1.0

请选择你想要进行的操作

1. 新建学生信息

2. 显示全部信息

3. 查询学生信息

4. 删除学生信息

5. 修改学生信息

0. 退出系统

**************************************************

第二步:新建学生信息

需要记录学生的 姓名、语文成绩、数学成绩、英语成绩 、总分 (input, 数据容器存储输入的学生信息)

1

2

3

4

5

6

7

8

9

10

11

12

13

name = input('请输入学生的姓名:')

chinese = int(input('请输入学生的语文成绩:'))

math = int(input('请输入学生的数学成绩:'))

english = int(input('请输入学生的英语成绩:'))

total = chinese + math + english

# 用什么数据容器接受比较好?  存储信息, 取值  采用字典

students = [

    {'name': name, 'chinese': chinese, 'math': math, 'english': english, 'total': total}

]

print(students)

第三步:显示全部学生信息

1

2

3

4

5

6

7

8

9

10

11

12

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数学\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"]}')

第四步:查询学生信息

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

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. 如果查询到指定的学生信息,用户可以选择 修改 或者 删除 信息 (多分支选择里面的逻辑)

name = input('请输入你要查询学生的姓名:')

# 先遍历所有学生

for stu in students:

    # 如果满足条件, 就是查询到了

    if name == stu['name']:

        print('姓名\t语文\t数学\t英语\t总分')

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

        # 一旦查询到了就停止查询

        break

else:

    # 没找到

    print('该学生不存在, 请检查名字是否输入正确!')

第五步:修改学生信息

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

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. 如果查询到指定的学生信息,用户可以选择 修改 或者 删除 信息 (多分支选择里面的逻辑)

name = input('请输入你要修改学生的姓名:')

# 先遍历所有学生

for stu in students:

    # 如果满足条件, 就是查询到了, 找到了这个学生

    # 找到了需要修改的学生

    if name == stu['name']:

        # 不想修改, 直接回车

        print('(如果不想修改,直接回车!)')

        name = input('请重新输入学生的姓名:')

        chinese = input('请重新输入学生的语文成绩:')

        math = input('请重新输入学生的数学成绩:')

        english = input('请重新输入学生的英语成绩:')

        # total = chinese + math + english

        # 用户输入了数据才修改

        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('该学生不存在, 请检查名字是否输入正确!')

pprint.pprint(students)

第六步: 删除学生信息

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

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. 如果查询到指定的学生信息,用户可以选择 修改 或者 删除 信息 (多分支选择里面的逻辑)

name = input('请输入你要删除学生的姓名:')

# 先遍历所有学生

for stu in students:

    # 找到学生

    if name == stu['name']:

        # 删除学生

        students.remove(stu)

        break

else:

    # 没找到

    print('该学生不存在, 请检查名字是否输入正确!')

pprint.pprint(students)

然后把他们拼接起来,就完成了我们简单的一个学生管理系统!

五、最后代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

import json

str_info = """**************************************************

欢迎使用【学生信息管理系统】V1.0

请选择你想要进行的操作

1. 新建学生信息

2. 显示全部信息

3. 查询学生信息

4. 删除学生信息

5. 修改学生信息

0. 退出系统

**************************************************"""

# 读取文件

with open('students.json', mode='r', encoding='utf-8') as f:

    students_str = f.read()

students = json.loads(students_str)

while True:

    # 1. 程序启动,显示信息管理系统欢迎界面,并显示功能菜单 (print)

    print(str_info)

    # 2.用户用数字选择不同的功能(input)

    action = input('请选择你要进行的操作(输入数字):')

    if action == '1':

        print('1. 新建学生信息')

        name = input('请输入学生的姓名:')

        chinese = int(input('请输入学生的语文成绩:'))

        math = int(input('请输入学生的数学成绩:'))

        english = int(input('请输入学生的英语成绩:'))

        total = chinese + math + english

        # 新的学生

        stu = {'name': name, 'chinese': chinese, 'math': math, 'english': english, 'total': total}

        students.append(stu)

    elif action == '2':

        print('2. 显示全部信息')

        print('姓名\t语文\t数学\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. 查询学生信息')

        name = input('请输入你要查询学生的姓名:')

        # 先遍历所有学生

        for stu in students:

            # 如果满足条件, 就是查询到了

            if name == stu['name']:

                print('姓名\t语文\t数学\t英语\t总分')

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

                # 一旦查询到了就停止查询

                break

        else:

            # 没找到

            print('该学生不存在, 请检查名字是否输入正确!')

    elif action == '4':

        print('4. 删除学生信息')

        name = input('请输入你要删除学生的姓名:')

        # 先遍历所有学生

        for stu in students:

            # 找到学生

            if name == stu['name']:

                # 删除学生

                students.remove(stu)

                break

        else:

            # 没找到

            print('该学生不存在, 请检查名字是否输入正确!')

    elif action == '5':

        print('5. 修改学生信息')

        name = input('请输入你要修改学生的姓名:')

        # 先遍历所有学生

        for stu in students:

            # 如果满足条件, 就是查询到了, 找到了这个学生

            # 找到了需要修改的学生

            if name == stu['name']:

                # 不想修改, 直接回车

                print('(如果不想修改,直接回车!)')

                name = input('请重新输入学生的姓名:')

                chinese = input('请重新输入学生的语文成绩:')

                math = input('请重新输入学生的数学成绩:')

                english = input('请重新输入学生的英语成绩:')

                # total = chinese + math + english

                # 用户输入了数据才修改

                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('该学生不存在, 请检查名字是否输入正确!')

    elif action == '0':

        print('0. 退出系统')

        with open('students.json', mode='w', encoding='utf-8') as f:

            # 把列表对象转化成字符串  ascii 编码

            students_str = json.dumps(students, ensure_ascii=False)

            f.write(students_str)

            print(students_str)

        break

    else:

        print('请输入正确的选项!')

到此这篇关于Python制作基础学生信息管理系统的文章就介绍到这了。希望对大家的学习有所帮助。感谢关注,为你们准备了编程学习的一套资料,还有相应的代码,视频教程都可以获取,添加Q裙703046414即可获取。

Python制作基础学生信息管理系统相关推荐

  1. [Python+Django]Web学生信息管理系统数据库设计及系统实现

    本文我们完成数据的设计,并通过Django框架完成数据库构建同时利用Django框架模式实现学生信息管理系统的功能. 简单的包装下毕设应该没问题了. Python,Mysql,Pycharm的安装本文 ...

  2. python学生管理系统界面-Python实现GUI学生信息管理系统

    本文实例为大家分享了Python实现GUI学生信息管理系统的具体代码,供大家参考,具体内容如下 项目环境: 软件环境: OS:RedHat6.3 Lib:Pygtk Language:Python S ...

  3. Python题目:学生信息管理系统

    Python题目:学生信息管理系统        选用list.tuple.dictionary或map等数据结构,存储X个学生的三门课的成绩(机器学习.Python程序设计.研究生英语),并实现以下 ...

  4. python项目:学生信息管理系统(初版)

    python项目:学生信息管理系统(初版) 学生信息管理项目,要求带操作界面,并完成每项操作: +----------------------+ | 1)添加学生信息 | | 2)显示所有学生的信息 ...

  5. Python小项目——学生信息管理系统(详细讲解)

    目录 一.需求分析 1.学生管理系统应具备的功能 二.系统设计 1.系统功能结构 2.系统业务流程 三.系统开发必备工具 1.系统开发环境 2.项目目录结构 四.主函数设计 1.系统主界面运行效果图 ...

  6. 基于Python+django的学生信息管理系统-计算机毕业设计

    项目介绍 我国是一个高等教育逐渐普及的国度,相应的每年也有上百万的大学生入校,如此庞大的学生数量如何进行更加科学的管理是教育工作者一直关心的一个问题,为了能够实现高校对学生信息管理的科学化,信息化,我 ...

  7. Python项目:学生信息管理系统

    Python学习笔记 文章目录 Python学习笔记 第十六站 学生信息管理系统 1. 需求分析 2. 系统开发必备 3. 系统设计 4. 学生信息维护模块设计 5. 项目打包 6. 实验感悟 课程笔 ...

  8. 用 python写一个学生信息管理系统

    好的,首先需要设计学生信息管理系统的数据结构. 假设我们需要记录每个学生的姓名.学号.年龄.性别以及成绩,我们可以使用 Python 的字典来表示一个学生的信息,字典的键表示信息的名称,值表示信息的内 ...

  9. 上海交通大学出版社python教材答案学生信息管理系统_学生信息管理系统(最终版)...

    <学生信息管理系统.doc>由会员分享,可免费在线阅读全文,更多与<学生信息管理系统(最终版)>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索. 1. ...

最新文章

  1. 【控制】《现代控制理论》谢克明老师-目录
  2. 【NLP-ChatBot】搜索引擎的最终形态之问答系统(FAQ)详述
  3. 王陆C语言,王陆和王舞的关系
  4. 北斗导航 | C语言实现PPP(精密单点定位)
  5. java为什么要初始化_JAVA中到底要怎么样初始化
  6. Netty--Future和Promise
  7. virtualbox 安装 虚拟机的时候报错不能创建新任务
  8. 前端性能优化 —— 起步篇(一)
  9. js php c语言for循环,JS for循环语句
  10. php对blob视频加密,blob 视频加密
  11. 帆软报表嵌入python程序_C#教程之C#服务器端生成报告文档:使用帆软报表
  12. flash打造佛光效果实例教程
  13. 差分编码解析以及FPGA实现
  14. 树梅派学习 15. 语音合成软件使用
  15. Day9-Python文本数据(DataWhale)
  16. React Hooks 分享
  17. linux使用grep查找文件内容,Linux中使用grep命令搜索文件名及文件内容的方法
  18. MMA-mathematica绘图
  19. CS224W-6-message passing and node classification 第3部分
  20. oracle数据库字段加密解密

热门文章

  1. .Net6 图片转文字PictureToTxt
  2. 新闻推荐数据集MIND介绍
  3. 手机计算机无法使用,为什么手机不能像电脑一样「一心多用」?
  4. 总结几个查找论文网址
  5. Java中未加入修饰符_(整理)java修饰符
  6. iOS 多线程GCD
  7. 【消息中间件MQ分享】
  8. oracle中12560,Oracle ORA-12560解决方法
  9. STM32 GPS悬停飞控 (三十五)树莓派 4g视频回传
  10. 1.3【展讯平台】Android 驱动(Kernel)、系统(framework) 定制,调试日志