用python做学生信息管理系统期末作业

大家好,小编来为大家解答以下问题,用python做学生信息管理系统期末作业,python做学生信息管理系统总体设计,今天让我们一起来看看吧!

目录
实现的对学生信息(姓名、年龄、电话号)的增删改查功能。

一、学生管理系统基本框架

二、添加学生

三、显示所有学生信息

四、删除学生信息

五、修改学生信息

六、查询某个学生信息

七、最终的学生管理系统

八、信息变动

扫描二维码关注公众号,回复: 17150111 查看本文章

(姓名、年龄、电话号)--->(学号、姓名、电话号)

九、示例图



实现的对学生信息(姓名、年龄、电话号)的增删改查功能如何用python画不同大小的满天星

一、学生管理系统基本框架

首先,我们先写出整个系统的大致框架,如下:

def print_info():
    print('-' * 20)
    print('欢迎登录学员管理系统')
    print('1: 添加学员')
    print('2: 删除学员')
    print('3: 修改学员信息')
    print('4: 查询学员信息')
    print('5: 显示所有学员信息')
    print('6: 退出系统')
    print('-' * 20)


def main():
    while True:
        print_info()
        num = input('请输入您的选项:')

        if num == "1":
            pass
        elif num == "2":
            pass
        elif num == '3':
            pass
        elif num == '4':
            pass
        elif num == '5':
            pass
        elif num == '6':
            print("谢谢使用!!!")
            return
        else:
            print('输入的不正确!!!')

        input("请按回车继续!!!")


if __name__ == '__main__':
    main()

二、添加学生

接下来,我们实现第一个添加学生功能,如下:

# 存储学生信息
student_info_list = [{"name": "老王", "age": 18, "tel": 110},{"name": "老李", "age": 18, "tel": 120}]


def print_info():
    """显示菜单"""
    print('-' * 20)
    print('欢迎登录学员管理系统')
    print('1: 添加学员')
    print('2: 删除学员')
    print('3: 修改学员信息')
    print('4: 查询学员信息')
    print('5: 显示所有学员信息')
    print('6: 退出系统')
    print('-' * 20)


def add_student_info():
    """添加学生"""
    global student_info_list

    # 获取要添加的人的电话
    add_tel = int(input('请输入要添加的人的电话:'))
    # 判断是否存在这个学生
    # i ==> {"name": "老王", "age": 18, "tel": 110}
    for i in student_info_list:
        if i["tel"] == add_tel:
            print('此人已存在!!!')
            return
            # 确定了所有的学生的电话都不重复
    else:
        add_name = input("请输入要添加的人的姓名:")
        add_age = int(input("请输入要添加的人的年龄:"))
        # 存储新的学生的信息
        my_dict = {}
        my_dict["name"] = add_name
        my_dict["age"] = add_age
        my_dict["tel"] = add_tel
        # 添加到列表中
        student_info_list.append(my_dict)

        print('添加成功')




def main():
    """主函数, 控制流程的"""
    while True:
        print_info()
        num = input('请输入您的选项:')

        if num == "1":
            add_student_info()
        elif num == "2":
            pass
        elif num == '3':
            pass
        elif num == '4':
            pass
        elif num == '5':
            show_all_info()
        elif num == '6':
            print("谢谢使用!!!")
            return
        else:
            print('输入的不正确!!!')

        input("请按回车继续!!!")


if __name__ == '__main__':
    main()

三、显示所有学生信息

添加信息之后,我们再编写显示所有学生的信息部分,如下:

# 存储学生信息
student_info_list = [{"name": "老王", "age": 18, "tel": 110}, {"name": "老李", "age": 18, "tel": 120}]


def print_info():
    """显示菜单"""
    print('-' * 20)
    print('欢迎登录学员管理系统')
    print('1: 添加学员')
    print('2: 删除学员')
    print('3: 修改学员信息')
    print('4: 查询学员信息')
    print('5: 显示所有学员信息')
    print('6: 退出系统')
    print('-' * 20)


def add_student_info():
    """添加学生"""
    global student_info_list

    # 获取要添加的人的电话
    add_tel = int(input('请输入要添加的人的电话:'))
    # 判断是否存在这个学生
    # i ==> {"name": "老王", "age": 18, "tel": 110}
    for i in student_info_list:
        if i["tel"] == add_tel:
            print('此人已存在!!!')
            return
            # 确定了所有的学生的电话都不重复
    else:
        add_name = input("请输入要添加的人的姓名:")
        add_age = int(input("请输入要添加的人的年龄:"))
        # 存储新的学生的信息
        my_dict = {}
        my_dict["name"] = add_name
        my_dict["age"] = add_age
        my_dict["tel"] = add_tel
        # 添加到列表中
        student_info_list.append(my_dict)

        print('添加成功')


def show_all_info():
    """显示所有的学生信息"""
    # i ==> {"name": "老王", "age": 18, "tel": 110}
    print("姓名\t年龄\t电话")
    for i in student_info_list:
        print(f"{i['name']}\t{i['age']}\t{i['tel']}")


def main():
    """主函数, 控制流程的"""
    while True:
        print_info()
        num = input('请输入您的选项:')

        if num == "1":
            add_student_info()
        elif num == "2":
            pass
        elif num == '3':
            pass
        elif num == '4':
            pass
        elif num == '5':
            show_all_info()
        elif num == '6':
            print("谢谢使用!!!")
            return
        else:
            print('输入的不正确!!!')

        input("请按回车继续!!!")


if __name__ == '__main__':
    main()

四、删除学生信息

接下来,我们开始编写删除学生信息部分,如下:

# 存储学生信息
student_info_list = [{"name": "老王", "age": 18, "tel": 110}, {"name": "老李", "age": 18, "tel": 120}]


def print_info():
    """显示菜单"""
    print('-' * 20)
    print('欢迎登录学员管理系统')
    print('1: 添加学员')
    print('2: 删除学员')
    print('3: 修改学员信息')
    print('4: 查询学员信息')
    print('5: 显示所有学员信息')
    print('6: 退出系统')
    print('-' * 20)


def add_student_info():
    """添加学生"""
    global student_info_list

    # 获取要添加的人的电话
    add_tel = int(input('请输入要添加的人的电话:'))
    # 判断是否存在这个学生
    # i ==> {"name": "老王", "age": 18, "tel": 110}
    for i in student_info_list:
        if i["tel"] == add_tel:
            print('此人已存在!!!')
            return
            # 确定了所有的学生的电话都不重复
    else:
        add_name = input("请输入要添加的人的姓名:")
        add_age = int(input("请输入要添加的人的年龄:"))
        # 存储新的学生的信息
        my_dict = {}
        my_dict["name"] = add_name
        my_dict["age"] = add_age
        my_dict["tel"] = add_tel
        # 添加到列表中
        student_info_list.append(my_dict)

        print('添加成功')


def show_all_info():
    """显示所有的学生信息"""
    # i ==> {"name": "老王", "age": 18, "tel": 110}
    print("姓名\t年龄\t电话")
    for i in student_info_list:
        print(f"{i['name']}\t{i['age']}\t{i['tel']}")


def del_student_info():
    """删除学生信息"""
    global student_info_list

    del_tel = int(input("请输入要删除的人的电话:"))

    # 判断这个人是否存在
    # i ==> {"name": "老王", "age": 18, "tel": 110}
    for i in student_info_list:
        if i["tel"] == del_tel:
            student_info_list.remove(i)
            print("删除完毕")
            return
    else:
        print('查无此人!!!')


def main():
    """主函数, 控制流程的"""
    while True:
        print_info()
        num = input('请输入您的选项:')

        if num == "1":
            add_student_info()
        elif num == "2":
            del_student_info()
        elif num == '3':
            pass
        elif num == '4':
            pass
        elif num == '5':
            show_all_info()
        elif num == '6':
            print("谢谢使用!!!")
            return
        else:
            print('输入的不正确!!!')

        input("请按回车继续!!!")


if __name__ == '__main__':
    main()

五、修改学生信息

接下来,我们思考怎样实现修改学生信息,代码如下:

# 存储学生信息
student_info_list = [{"name": "老王", "age": 18, "tel": 110}, {"name": "老李", "age": 18, "tel": 120}]


def print_info():
    """显示菜单"""
    print('-' * 20)
    print('欢迎登录学员管理系统')
    print('1: 添加学员')
    print('2: 删除学员')
    print('3: 修改学员信息')
    print('4: 查询学员信息')
    print('5: 显示所有学员信息')
    print('6: 退出系统')
    print('-' * 20)


def add_student_info():
    """添加学生"""
    global student_info_list

    # 获取要添加的人的电话
    add_tel = int(input('请输入要添加的人的电话:'))
    # 判断是否存在这个学生
    # i ==> {"name": "老王", "age": 18, "tel": 110}
    for i in student_info_list:
        if i["tel"] == add_tel:
            print('此人已存在!!!')
            return
            # 确定了所有的学生的电话都不重复
    else:
        add_name = input("请输入要添加的人的姓名:")
        add_age = int(input("请输入要添加的人的年龄:"))
        # 存储新的学生的信息
        my_dict = {}
        my_dict["name"] = add_name
        my_dict["age"] = add_age
        my_dict["tel"] = add_tel
        # 添加到列表中
        student_info_list.append(my_dict)

        print('添加成功')


def show_all_info():
    """显示所有的学生信息"""
    # i ==> {"name": "老王", "age": 18, "tel": 110}
    print("姓名\t年龄\t电话")
    for i in student_info_list:
        print(f"{i['name']}\t{i['age']}\t{i['tel']}")


def del_student_info():
    """删除学生信息"""
    global student_info_list

    del_tel = int(input("请输入要删除的人的电话:"))

    # 判断这个人是否存在
    # i ==> {"name": "老王", "age": 18, "tel": 110}
    for i in student_info_list:
        if i["tel"] == del_tel:
            student_info_list.remove(i)
            print("删除完毕")
            return
    else:
        print('查无此人!!!')


def change_student_info():
    """修改学生信息"""
    change_tel = int(input("请输入要修改的学生的电话:"))

    # 判断这个人是否存在
    # i => {"name": "老王", "age": 18, "tel": 110}
    for i in student_info_list:
        if i["tel"] == change_tel:
            # 获取要修改的信息
            change_name = input("请输入修改后的姓名:")
            change_age = input("请输入修改后的年龄:")
            change_tel = input("请输入修改后的电话:")
            # 修改信息
            i["name"] = change_name
            i["age"] = change_age
            i["tel"] = change_tel
            print("修改完毕!!!")
            return
    else:
        print("查无此人!!!")


def main():
    """主函数, 控制流程的"""
    while True:
        print_info()
        num = input('请输入您的选项:')

        if num == "1":
            add_student_info()
        elif num == "2":
            del_student_info()
        elif num == '3':
            change_student_info()
        elif num == '4':
            pass
        elif num == '5':
            show_all_info()
        elif num == '6':
            print("谢谢使用!!!")
            return
        else:
            print('输入的不正确!!!')

        input("请按回车继续!!!")


if __name__ == '__main__':
    main()

六、查询某个学生信息

最后,我们来实现最后一个查询某个学生信息功能,如下:

# 存储学生信息
student_info_list = [{"name": "老王", "age": 18, "tel": 110}, {"name": "老李", "age": 18, "tel": 120}]


def print_info():
    """显示菜单"""
    print('-' * 20)
    print('欢迎登录学员管理系统')
    print('1: 添加学员')
    print('2: 删除学员')
    print('3: 修改学员信息')
    print('4: 查询学员信息')
    print('5: 显示所有学员信息')
    print('6: 退出系统')
    print('-' * 20)


def add_student_info():
    """添加学生"""
    global student_info_list

    # 获取要添加的人的电话
    add_tel = int(input('请输入要添加的人的电话:'))
    # 判断是否存在这个学生
    # i ==> {"name": "老王", "age": 18, "tel": 110}
    for i in student_info_list:
        if i["tel"] == add_tel:
            print('此人已存在!!!')
            return
            # 确定了所有的学生的电话都不重复
    else:
        add_name = input("请输入要添加的人的姓名:")
        add_age = int(input("请输入要添加的人的年龄:"))
        # 存储新的学生的信息
        my_dict = {}
        my_dict["name"] = add_name
        my_dict["age"] = add_age
        my_dict["tel"] = add_tel
        # 添加到列表中
        student_info_list.append(my_dict)

        print('添加成功')


def show_all_info():
    """显示所有的学生信息"""
    # i ==> {"name": "老王", "age": 18, "tel": 110}
    print("姓名\t年龄\t电话")
    for i in student_info_list:
        print(f"{i['name']}\t{i['age']}\t{i['tel']}")


def del_student_info():
    """删除学生信息"""
    global student_info_list

    del_tel = int(input("请输入要删除的人的电话:"))

    # 判断这个人是否存在
    # i ==> {"name": "老王", "age": 18, "tel": 110}
    for i in student_info_list:
        if i["tel"] == del_tel:
            student_info_list.remove(i)
            print("删除完毕")
            return
    else:
        print('查无此人!!!')


def change_student_info():
    """修改学生信息"""
    change_tel = int(input("请输入要修改的学生的电话:"))

    # 判断这个人是否存在
    # i => {"name": "老王", "age": 18, "tel": 110}
    for i in student_info_list:
        if i["tel"] == change_tel:
            # 获取要修改的信息
            change_name = input("请输入修改后的姓名:")
            change_age = input("请输入修改后的年龄:")
            change_tel = input("请输入修改后的电话:")
            # 修改信息
            i["name"] = change_name
            i["age"] = change_age
            i["tel"] = change_tel
            print("修改完毕!!!")
            return
    else:
        print("查无此人!!!")


def search_student_info():
    """查询一个学生的信息"""
    search_tel = int(input("请输入要查询的学生的电话:"))

    for i in student_info_list:
        if i["tel"] == search_tel:
            print(f"姓名:{i['name']} 年龄:{i['age']} 电话:{i['tel']}")
            return
    else:
        print("查无此人!!!")


def main():
    """主函数, 控制流程的"""
    while True:
        print_info()
        num = input('请输入您的选项:')

        if num == "1":
            add_student_info()
        elif num == "2":
            del_student_info()
        elif num == '3':
            change_student_info()
        elif num == '4':
            search_student_info()
        elif num == '5':
            show_all_info()
        elif num == '6':
            print("谢谢使用!!!")
            return
        else:
            print('输入的不正确!!!')

        input("请按回车继续!!!")


if __name__ == '__main__':
    main()

七、最终的学生管理系统

将各个模块合并在一起,构成完整的学生管理系统。

# 存储学生信息
student_info_list = []


def print_info():
    """显示菜单"""
    print('-' * 20)
    print('欢迎登录学员管理系统')
    print('1: 添加学员')
    print('2: 删除学员')
    print('3: 修改学员信息')
    print('4: 查询学员信息')
    print('5: 显示所有学员信息')
    print('6: 退出系统')
    print('-' * 20)


def add_student_info():
    """添加学生"""
    global student_info_list

    # 获取要添加的人的电话
    add_tel = int(input('请输入要添加的人的电话:'))
    # 判断是否存在这个学生
    # i ==> {"name": "老王", "age": 18, "tel": 110}
    for i in student_info_list:
        if i["tel"] == add_tel:
            print('此人已存在!!!')
            return
            # 确定了所有的学生的电话都不重复
    else:
        add_name = input("请输入要添加的人的姓名:")
        add_age = int(input("请输入要添加的人的年龄:"))
        # 存储新的学生的信息
        my_dict = {}
        my_dict["name"] = add_name
        my_dict["age"] = add_age
        my_dict["tel"] = add_tel
        # 添加到列表中
        student_info_list.append(my_dict)

        print('添加成功')


def show_all_info():
    """显示所有的学生信息"""
    # i ==> {"name": "老王", "age": 18, "tel": 110}
    print("姓名\t年龄\t电话")
    for i in student_info_list:
        print(f"{i['name']}\t{i['age']}\t{i['tel']}")


def del_student_info():
    """删除学生信息"""
    global student_info_list

    del_tel = int(input("请输入要删除的人的电话:"))

    # 判断这个人是否存在
    # i ==> {"name": "老王", "age": 18, "tel": 110}
    for i in student_info_list:
        if i["tel"] == del_tel:
            student_info_list.remove(i)
            print("删除完毕")
            return
    else:
        print('查无此人!!!')


def change_student_info():
    """修改学生信息"""
    change_tel = int(input("请输入要修改的学生的电话:"))

    # 判断这个人是否存在
    # i => {"name": "老王", "age": 18, "tel": 110}
    for i in student_info_list:
        if i["tel"] == change_tel:
            # 获取要修改的信息
            change_name = input("请输入修改后的姓名:")
            change_age = int(input("请输入修改后的年龄:"))
            change_tel = int(input("请输入修改后的电话:"))
            # 修改信息
            i["name"] = change_name
            i["age"] = change_age
            i["tel"] = change_tel
            print("修改完毕!!!")
            return
    else:
        print("查无此人!!!")


def search_student_info():
    """查询一个学生的信息"""
    search_tel = int(input("请输入要查询的学生的电话:"))

    for i in student_info_list:
        if i["tel"] == search_tel:
            print(f"姓名:{i['name']} 年龄:{i['age']} 电话:{i['tel']}")
            return
    else:
        print("查无此人!!!")


def load_data():
    """加载数据"""
    global student_info_list

    f = open("./data.txt", 'r', encoding="utf8")
    data = f.read()
    # 判断文件是否为空
    if len(data) > 0:
        # 从文件中获取的数据默认是字符串类型的数据
        data = eval(data)
        # 把数据加载到了 student_info_list
        student_info_list = data

    f.close()


def save_data():
    """保存数据"""
    f = open('./data.txt', "w", encoding="utf8")
    # 文件必须存储字符串数据
    f.write(str(student_info_list))
    f.close()


def main():
    """主函数, 控制流程的"""
    # 加载数据
    load_data()

    while True:
        print_info()
        num = input('请输入您的选项:')

        if num == "1":
            add_student_info()
        elif num == "2":
            del_student_info()
        elif num == '3':
            change_student_info()
        elif num == '4':
            search_student_info()
        elif num == '5':
            show_all_info()
        elif num == '6':
            # 保存数据
            save_data()
            print("谢谢使用!!!")
            return
        else:
            print('输入的不正确!!!')

        input("请按回车继续!!!")


if __name__ == '__main__':
    main()

八、信息变动

(姓名、年龄、电话号)--->(学号、姓名、电话号)

 需求:设计一个学生管理系统,要求实现对学生信息(学号、姓名、电话号)的增删改查功能,并实现持久化存储(注意文件存储路径)。

# 存储学生信息
student_info_list = []


def print_info():  # 打印提示信息
    print()
    print('---------------->学生管理系统<-----------------')
    print()
    print(' 1 -> 添加学生信息        2 -> 删除学生信息')
    print(' 3 -> 修改学生信息        4 -> 查询单个学生信息')
    print(' 5 -> 查询所有学生信息     0 -> 退出程序')
    print('---------------------------------------------')


def add_student_info():
    """添加学生"""
    global student_info_list

    # 获取要添加的人的学号
    add_id = int(input('请添加学生学号:'))
    # 判断是否存在这个学生
    # i ==> {"id": 01,  "name": "老王",  "tel": 110}
    for i in student_info_list:
        if i["tel"] == add_id:
            print('该学生已存在!!!')
            return
            # 确定了所有的学生的电话都不重复
    else:
        add_name = input("请添加学生姓名:")
        add_tel = int(input("请添加学生电话:"))
        # 存储新的学生的信息
        my_dict = {"id": add_id, "name": add_name, "tel": add_tel}
        # 添加到列表中
        student_info_list.append(my_dict)

        print('添加成功!')


def show_all_info():
    """显示所有的学生信息"""
    # i ==> {"id": 01,  "name": "老王",  "tel": 110}

    print("学号\t\t姓名\t\t电话")
    for i in student_info_list:
        print(f"{i['id']}\t{i['name']}\t{i['tel']}")


def del_student_info():
    """删除学生信息"""
    global student_info_list

    del_id = int(input("请输入要删除学生的学号:"))

    # 判断这个人是否存在
    # i ==> {"id": 01,  "name": "老王",  "tel": 110}
    for i in student_info_list:
        if i["id"] == del_id:
            student_info_list.remove(i)
            print("删除完毕!")
            return
    else:
        print('未查到该同学!!!')


def change_student_info():
    """修改学生信息"""
    change_id = int(input("请输入要修改的学生的学号:"))

    # 判断这个人是否存在
    # i ==> {"id": 01,  "name": "老王",  "tel": 110}
    for i in student_info_list:
        if i["id"] == change_id:
            # 获取要修改的信息
            change_id = int(input("请输入修改后的学号:"))
            change_name = input("请输入修改后的姓名:")
            change_tel = int(input("请输入修改后的电话:"))
            # 修改信息
            i["id"] = change_id
            i["name"] = change_name
            i["tel"] = change_tel
            print("修改完毕!!!")
            return
    else:
        print("未查到该同学!!!")


def search_student_info():
    """查询一个学生的信息"""
    search_id = int(input("请输入要查询的学生的学号:"))

    for i in student_info_list:
        if i["id"] == search_id:
            print(f"学号:{i['id']}  姓名:{i['name']}  电话:{i['tel']}")
            return
    else:
        print("未查到该同学!!!")


def load_data():
    """加载数据"""
    global student_info_list

    f = open("student.txt", 'r', encoding="utf8")
    data = f.read()
    # 判断文件是否为空
    if len(data) > 0:
        # 从文件中获取的数据默认是字符串类型的数据
        data = eval(data)
        # 把数据加载到了 student_info_list
        student_info_list = data

    f.close()


def save_data():
    """保存数据"""
    f = open('student.txt', "w", encoding="utf8")
    # 文件必须存储字符串数据
    f.write(str(student_info_list))
    f.close()


def main():
    """主函数, 控制流程的"""
    # 加载数据
    load_data()

    while True:
        print_info()
        num = input('请输入您要操作的序号:')

        if num == "1":
            add_student_info()
        elif num == "2":
            del_student_info()
        elif num == '3':
            change_student_info()
        elif num == '4':
            search_student_info()
        elif num == '5':
            show_all_info()
        elif num == '0':
            # 保存数据
            save_data()
            print("退出成功,欢迎您下次使用!")
            return
        else:
            print('序号错误,请您仔细查看提示,再次输入!')


if __name__ == '__main__':
    main()

九、示例图

添加学生(示例图):

删除学生(示例图): 

修改学生(示例图):

查询单个学生信息(示例图):

 查询所有学生信息(示例图):

退出程序(示例图):

 文件地址位置:

        这个学生管理系统基本上把Python的基础知识都利用上了,是检测是否打好了Python基础的一个方法,大家根据思路,尝试着写一写。在之后的一段时间,会给大家带来Python进阶部分的内容,感谢大家支持!

今天的内容就到这里,下期再见啦~

<end>

猜你喜欢

转载自blog.csdn.net/mynote/article/details/135014401