Bootstrap

使用Python编写简单学生管理系统

学完python基础,把学过的知识运用起来做一个简单的学生管理系统

1、需求分析

需求:进入系统显示系统功能界面,功能如下:

① 添加学员信息

② 删除学员信息

③ 修改学员信息

④ 查询学员信息(只查询某个学员)

⑤ 遍历所有学员信息

⑥ 退出系统

系统共6个功能,用户根据自己需求选取

2、功能实现步骤

① 显示功能界面

② 用户输入功能序号

③ 根据用户输入的功能序号,执行不同的功能(函数)

☆ 定义函数

☆ 调用函数

3、模块化的编程思想(面向过程)

模块化的编程思想是最早期的编程思想,其强调==把一个系统分解为若干个功能(步骤)==,每个功能就是一个模块(函数)。当所有功能开发完毕后,功能整合,则系统就完成了。

4、使用Python开发通讯录管理系统

① 显示功能界面

② 提示用户输入要操作的功能编号

③ 根据用户输入的序号执行相关功能 => if...elif...else

④ 如何让程序一直执行下去,而不是选择某个功能后,程序就退出了 => while True

⑤ 根据用户输入的序号,完成系统中的每一个功能

⑥ 扩展功能:把学生信息保存在文件中

直接上耗时两个半小时的源代码
# 定义一个大列表来保存学生信息
students = []

# 功能菜单函数
def menu():
    print('-' * 40)
    print('    学生管理系统  v1.0')
    print('1.添加学生信息')
    print('2.删除学生信息')
    print('3.修改学生信息')
    print('4.查询学生信息')
    print('5.遍历所有学生信息')
    print('6.保存信息到文件')
    print('7.退出系统')
    print('-' * 40)


# 添加学生功能函数
def add_student():
    student = {}
    # 用字典保存每个学生的信息,然后将它写入students列表
    student['name'] = input('请输入学生姓名:')
    student['age'] = int(input('请输入学生年龄:'))
    student['mobile'] = input('请输入学生电话号码:')
    students.append(student)
    print(students)


# 删除学生信息功能函数
def del_student():
    name = input('请输入要删除学生的姓名:')
    for i in students:
        if i['name'] == name:
            students.remove(i)
            print('删除成功')
            print(students)
            break
    else:
        print('该学生不存在')


# 修改学生信息功能函数
def edit_student():
    name = input('请输入要修改学生的姓名:')
    for i in students:
        if i['name'] == name:
            i['name'] = input('请输入修改后学生的姓名:')
            i['age'] = int(input('请输入修改后学生的年龄:'))
            i['mobile'] = int(input('请输入修改后学生的电话:'))
            print('您要修改的学生信息修改成功')
            break
    else:
        print('您要修改的学生信息未找到')


# 查询学生的信息功能函数
def find_studet():
    name = input('请输入要查询学生的姓名:')
    for i in students:
        if i['name'] == name:
            print(i)
            break
    else:
        print('很抱歉,没有该学生的信息')


# 遍历所有学生的信息的功能函数
def find_all_student():
    for i in students:
        print(i)


# 保存students数据到data.txt文件功能的函数
def save_data_to_file():
    global students
    f = open('data.txt', 'w', encoding='utf-8')
    f.write(str(students))
    f.close()
    print('信息保存成功')


# 定义函数load_data(),把文件数据加载到程序
def load_data():
    f = open('data.txt', 'r', encoding='utf-8')
    content = f.read()  # str类型的字符串
    # 判断人间是否为空
    if not content:
        return  # 终止此循环,不需要在继续加载了
    else:
        # 如果代码继续向下执行代表不为空,则进行类型转换
        global students  # 声明我们接下来使用的变量是全局变量
        students = eval(content)
        f.close()


# 加载数据文件类容到列表students中
load_data()
while True:
    menu()
    num = int(input('请输入编号进行操作:'))
    if num == 1:  #添加学生信息
        add_student()

    elif num == 2:  #删除学生信息
        find_all_student()
        del_student()

    elif num == 3:  #修改学生信息
        find_all_student()
        edit_student()

    elif num == 4:  #查询学生信息
        find_studet()

    elif num == 5:  #遍历学生信息
        find_all_student()

    elif num == 6:  #保存学生信息
        save_data_to_file()

    elif num == 7:  #退出系统
        print('欢迎下次使用')
        print('退出系统成功')
        break

    else:
        print('输入不合法,请重新输入')
运行结果

;