基于Python实现简易学生信息管理系统

目录

一、系统简介

实现一个学生信息的管理系统:主要功能有:

添加学生信息

删除学生信息

修改学生信息

查询学生信息

显示学生信息

退出当前系统

二、步骤分析

显示功能界面

用户输入功能序号

对不同序号的功能实现具体函数(3.1 定义函数、3.2 调用函数)

三、需求实现

显示功能界面info_print()

用户输入功能序号 user_num = eval(input('请输入功能序号:'))

按照用户输入的功能序号,执行不同的功能(函数)

添加学生信息add_info()

删除学生信息del_info()

修改学生信息modify_info()

查询学生信息search_info()

显示学生信息print_all()

四、具体实现

系统功能需要循环使用,直到用户输入6,才退出系统 功能界面部分:

1

2

3

4

5

6

7

8

9

10

11

12

13

# 定义一个函数

def info_print():

    print('--------请选择功能-----')

    print('1、添加学生')

    print('2、删除学生')

    print('3、修改学生')

    print('4、查询学生')

    print('5、显示所有学生')

    print('6、退出系统')

    print('-' * 20)

# 等待存储所有学生的信息

info = []

主要部分代码:

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

while True:

    # 1、显示功能界面

    info_print()

     

    # 2、用户输入功能序号

    user_num = eval(input('请输入功能序号:'))

    # 3、按照用户输入的功能序号,执行不同的功能(函数)

    # 如果用户输入1,就执行添加学生的功能

    if user_num == 1:

        # print('添加学生')

    elif user_num == 2:

        # print('删除学生')

    elif user_num == 3:

        # print('修改学生')

    elif user_num == 4:

       # print('查询学生')

    elif user_num == 5:

        # print('显示所有学生')

    elif user_num == 6:

        exit_flag = input("确定要退出吗?yes/no?")

        if exit_flag == 'yes':

            break

        # print('退出系统')

    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

while True:

    # 1、显示功能界面

    info_print()

    # 2、用户输入功能序号

    user_num = eval(input('请输入功能序号:'))

    # 3、按照用户输入的功能序号,执行不同的功能(函数)

    # 如果用户输入1,就执行添加学生的功能

    if user_num == 1:

        add_info()

        # print('添加学生')

    elif user_num == 2:

        del_info()

        # print('删除学生')

    elif user_num == 3:

        modify_info()

        # print('修改学生')

    elif user_num == 4:

        search_info()

        # print('查询学生')

    elif user_num == 5:

        print_all()

        # print('显示所有学生')

    elif user_num == 6:

        exit_flag = input("确定要退出吗?yes/no?")

        if exit_flag == 'yes':

            break

        # print('退出系统')

    else:

        print('输入的功能序号有误!')

4.1 添加学生信息的函数

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

def add_info():

    """添加学生函数"""

    # 接受用户输入学生信息

    # 1、用户输入:学号、姓名、手机号

    new_id = input("输入学号:")

    new_name = input("输入姓名:")

    new_tel = input("输入手机号:")

    # 2、判断是否添加这个学生,如果学生姓名已经存在报错提示,如果不存在则添加数据

    global info

    # 2.1 不允许姓名重复:判断用户输入的姓名如果和列表里面字典的name值是相等的,则提示姓名重复

    for in info:

        if new_name == i['name']:

            print("此用户已经存在,请勿重复添加")

            # return 退出当前函数,后面添加信息的代码不执行

            return

    # 如果用户输入的姓名不存在,则添加该学生信息

    info_dict = {<!-- -->'id': new_id, 'name': new_name, 'tel': new_tel}

    # 将用户输入的数据追加到字典

    # 将这个学生的字典数据追加到列表

    info.append(info_dict)

    print(info)

4.2 删除学生信息的函数

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

def del_info():

    """删除学生"""

    # 1、用户输入要删除的学生的姓名

    del_name = input("请输入要删除的学生的姓名:")

    global info

    # 2、判断学生是否存在

    # 2.1 声明info是全局变量

    # 2.2 遍历列表

    # 2.3 判断学生是否存在,存在则执行删除信息,break:不允许重名,那么删除了一个,后面的不需要再遍历;不存在则提示

    for in info:

        if del_name == i['name']:

            info.remove(i)

            break

    else:

        print('该学生不存在!')

    print(info)

4.3 修改学生信息的函数

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

def modify_info():

    """修改函数"""

    # 1、用户输入要修改的学生的姓名

    modify_name = input("请输入要修改的学生的姓名:")

    global info

    # 2、判断学生是否存在,如果输入的姓名存在则修改手机号,否则则提示

    for in info:

        if modify_name == i['name']:

            i['tel'= input("请输入新的手机号:")

            break

    else:

        print("该学生不存在")

    print(info)

4.4 查询学生信息的函数

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

def search_info():

    """查询学生信息"""

    # 1、输入要查找的学生姓名

    search_name = input("请输入要查找的学生姓名:")

    global info

    # 2、判断学生是否存在,如果输入的姓名存在则显示该学生的信息,否则则提示

    for in info:

        if search_name == i['name']:

            print("找到该学生的信息如下:")

            print(f"该学生的学号是{i['id']},姓名是{i['name']},手机号是{i['tel']}")

            break

    else:

        print("该学生不存在!")

4.5 显示所有学生信息

1

2

3

4

5

def print_all():

    """显示所有学生信息"""

    print('学号\t姓名\t手机号')

    for in info:

        print(f"{i['id']}\t{i['name']}\t{i['tel']}")

五、完整代码

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

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

# 定义一个函数

def info_print():

    print('--------请选择功能-----')

    print('1、添加学生')

    print('2、删除学生')

    print('3、修改学生')

    print('4、查询学生')

    print('5、显示所有学生')

    print('6、退出系统')

    print('-' * 20)

# 等待存储所有学生的信息

info = []

# 1、添加学生信息的函数

def add_info():

    """添加学生函数"""

    # 接受用户输入学生信息

    # 1、用户输入:学号、姓名、手机号

    new_id = input("输入学号:")

    new_name = input("输入姓名:")

    new_tel = input("输入手机号:")

    # 2、判断是否添加这个学生,如果学生姓名已经存在报错提示,如果不存在则添加数据

    global info

    # 2.1 不允许姓名重复:判断用户输入的姓名如果和列表里面字典的name值是相等的,则提示姓名重复

    for in info:

        if new_name == i['name']:

            print("此用户已经存在,请勿重复添加")

            # return 退出当前函数,后面添加信息的代码不执行

            return

    # 如果用户输入的姓名不存在,则添加该学生信息

    info_dict = {<!-- -->'id': new_id, 'name': new_name, 'tel': new_tel}

    # 将用户输入的数据追加到字典

    # 将这个学生的字典数据追加到列表

    info.append(info_dict)

    print(info)

# 2、删除学生的信息

def del_info():

    """删除学生"""

    # 1、用户输入要删除的学生的姓名

    del_name = input("请输入要删除的学生的姓名:")

    global info

    # 2、判断学生是否存在

    # 2.1 声明info是全局变量

    # 2.2 遍历列表

    # 2.3 判断学生是否存在,存在则执行删除信息,break:不允许重名,那么删除了一个,后面的不需要再遍历;不存在则提示

    for in info:

        if del_name == i['name']:

            info.remove(i)

            break

    else:

        print('该学生不存在!')

    print(info)

# 3、修改学生的信息

def modify_info():

    """修改函数"""

    # 1、用户输入要修改的学生的姓名

    modify_name = input("请输入要修改的学生的姓名:")

    global info

    # 2、判断学生是否存在,如果输入的姓名存在则修改手机号,否则则提示

    for in info:

        if modify_name == i['name']:

            i['tel'= input("请输入新的手机号:")

            break

    else:

        print("该学生不存在")

    print(info)

# 4、查询学生信息

def search_info():

    """查询学生信息"""

    # 1、输入要查找的学生姓名

    search_name = input("请输入要查找的学生姓名:")

    global info

    # 2、判断学生是否存在,如果输入的姓名存在则显示该学生的信息,否则则提示

    for in info:

        if search_name == i['name']:

            print("找到该学生的信息如下:")

            print(f"该学生的学号是{i['id']},姓名是{i['name']},手机号是{i['tel']}")

            break

    else:

        print("该学生不存在!")

# 5、显示所有学生信息

def print_all():

    """显示所有学生信息"""

    print('学号\t姓名\t手机号')

    for in info:

        print(f"{i['id']}\t{i['name']}\t{i['tel']}")

# 系统功能需要循环使用,直到用户输入6,才退出系统

while True:

    # 1、显示功能界面

    info_print()

    # 2、用户输入功能序号

    user_num = eval(input('请输入功能序号:'))

    # 3、按照用户输入的功能序号,执行不同的功能(函数)

    # 如果用户输入1,就执行添加学生的功能

    if user_num == 1:

        add_info()

        # print('添加学生')

    elif user_num == 2:

        del_info()

        # print('删除学生')

    elif user_num == 3:

        modify_info()

        # print('修改学生')

    elif user_num == 4:

        search_info()

        # print('查询学生')

    elif user_num == 5:

        print_all()

        # print('显示所有学生')

    elif user_num == 6:

        exit_flag = input("确定要退出吗?yes/no?")

        if exit_flag == 'yes':

            break

        # print('退出系统')

    else:

        print('输入的功能序号有误!')

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sinat_40572875

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值