用python 书写简单的学生管理系统

这是一个使用Python编写的简单学生信息管理系统,可以实现对学生基本信息如姓名、手机号、QQ等的增删改查功能,并能将数据保存至TXT文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习python第一个写的程序,fighting!!!
将输入的学生基本信息:姓名,手机号,QQ,保存至txt文件中,可以学生信息进行增、删、改、查的操作。


# _*_ coding:utf-8 _*_  #python2中使用

# ZPCS


#  加载数据
def load_data():
    global doc

    doc_open = open("doc.txt", "r+", encoding='UTF-8')
    # doc_open.seek(0)
    lines = doc_open.readline()
    if lines.strip() == "":
        doc = []
    else:
        doc_open.seek(0)
        doc = eval(doc_open.readline())


# 打印界面
def print_menu():

    print("""
    ---------------------------
         学生管理系统 V1.0
    1:添加学生
    2:删除学生
    3:修改学生
    4:查询学生
    5:显示所有学生
    6:保存数据
    7:退出系统
    ---------------------------""")


# 添加学生
def add_new_info():

        new_name = input("请输入姓名:")
        new_tel = input("请输入手机号:")
        new_qq = input("请输入QQ:")
        # 列表为空,直接添加
        if len(doc) == 0:
            stu = {"姓名": new_name, "手机号": new_tel, "QQ": new_qq}
            doc.append(stu)
            print("添加成功")
        else:
            for i in range(0, len(doc)):
                # 遍历 value
                # for value in doc[i].values():
                # 手机号重复
                if new_name == doc[i]["姓名"]:
                    print("此用户名已被占用,请重新输入")
                    return
            stu = {"姓名": new_name, "手机号": new_tel, "QQ": new_qq}
            doc.append(stu)
            print("添加成功")


# 删除学生
def del_info():

    num_del = int(input('请输入要删除的序号:'))
    sec_del = input("你确定要删除么?yes or no")
    if sec_del == "yes":
        if 0 <= num_del < len(doc):
            del doc[int(num_del)]
            print("删除成功")
        else:
            print("输入序号有误,请重新输入")
    elif sec_del == "no":
        print("操作取消")
    else:
        print("请输入yes or no")


# 修改学生信息
def modiy_info():
    num_mod = int(input('请输入要修改的序号:'))
    mod_info = input("你要修改的信息是:")
    if mod_info == "姓名":
        doc[num_mod]['姓名'] = input("请输入新的姓名")
    elif mod_info == "手机号":
        doc[num_mod]['手机号'] = input("请输入新的手机号")
    elif mod_info == "QQ":
        doc[num_mod]['QQ'] = input("请输入新的QQ")
    else:
        print("输入序号有误,请重新输入")


# 查询学生信息
def search_info():
    num_sch = input("请输入要查询的学生姓名:")
    for a in range(0, len(doc)):
        if doc[a]["姓名"] == num_sch:
            print("查询到的信息如下:")
            print(doc[a])
            break
    else:
        print("没有您要找的信息....")


# 遍历学生信息
def print_all_info():
    print("序号\t姓名\t\t手机号\t\tQQ")
    for info_num in range(0, int(len(doc))):
        print("%02d\t%s\t\t%s\t\t%s" % (info_num, doc[info_num]["姓名"], doc[info_num]["手机号"], doc[info_num]["QQ"]))


# 储存数据
def save_data():
    doc_open = open("doc.txt", "w", encoding="UTF-8")
    doc_open.writelines(str(doc))
    doc_open.close()
    print("文件保存成功")


def main():
    """"用来控制整个流程"""

    # 加载数据(1次即可)
    load_data()

    while True:

        # 1.打印功能
        print_menu()

        # 2.获取用户的选择
        num = input("请输入要进行的操作(数字):")

        # 3.根据用户选择,做相应的事情
        if num == "1":
            # 添加学生
            add_new_info()
        elif num == "2":
            # 删除学生
            del_info()
        elif num == "3":
            # 修改学生
            modiy_info()
        elif num == "4":
            # 查询学生
            search_info()
        elif num == "5":
            # 遍历所有的信息
            print_all_info()
        elif num == "6":
            # 保存数据到文件中
            save_data()
        elif num == "7":
            exit_flag = input("亲,你确定要退出么?~~~~~~~~~~~~~(>_<)~~~~~~~~~~~~~~~~(yes or no)")
            if exit_flag == "yes":
                break
        else:
            print("输入有误,请重新输入")
        input("\n\n\n 按回车键继续\n\n\n")

main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值