python简单的学生管理系统

参考案例来源:python快速编程入门(黑马程序员),与原案例有些区别
学生管理系统的功能包括:添加、删除、修改、显示、保存、退出系统,每个功能都对应这一个响应的序号,由用户通过键盘输入选择
具体步骤:

  • 新建一个列表,用来保存学生的信息
  • 定义一个打印功能菜单的函数,提示用户可以进行那些操作
  • 定义一个用于添加学生信息的函数。要求用户根据提示输入学生的信息,并使用一个字典将该学生的信息保存起来
  • 定义一个用于删除学生信息的函数。根据序号删除对应的学生信息
  • 定义一个用于修改学生信息的函数。根据序号,跟新学生信息
  • 定义一个显示学生所有信息的函数。按照一定的格式进行输出
  • 定义一个保存数据的函数,将数据保存到文件中
  • 定义一个main函数,用于控制整个程序的流程。该函数中,使用一个无限循环保证程序一直能接收用户的输入

注:
1、 代码的大部分函数中都存在global关键字,当在函数中要修改全局变量时必须要用global关键字进行声明
2、input函数接收的数据最终都以字符串的形式保存
代码:

# 保存学生的所有信息
student_infos = {}

# 打印功能提示
def print_menu():
    print("="*30)
    print("学生管理系统v1.0")
    print("1.添加学生信息")
    print("2.删除学生信息")
    print("3.修改学生信息")
    print("4.显示学生信息")
    print("5.保存学生信息")
    print("0.退出管理系统")
    print("="*30)

# 添加一个学生信息
def add_info():
    global student_infos
    new_id = input("请输入新学生的学号:")
    new_name = input("请输入新学生的名字:")
    new_sex = input("请输入新学生的性别:")
    new_phone = input("请输入新学生的手机号码:")
    new_info = {}
    new_info['id'] = new_id
    new_info['name'] = new_name
    new_info['sex'] = new_sex
    new_info['phone'] = new_phone
    student_infos[new_id] = new_info

# 删除一个学生信息
def del_info():
    global student_infos
    del_id = input("请输入要删除的学生学号:")
    if student_infos.get(del_id, 0):
        del student_infos[del_id]
        print("删除成功")
    else:
        print("该学生不存在")

# 修改一个学生的信息
def modify_info():
    global student_infos
    new_id = input("请输入要修改的学生学号:")
    new_name = input("请输入新学生的名字:")
    new_sex = input("请输入新学生的性别:")
    new_phone = input("请输入新学生的手机号码:")
    if student_infos.get(new_id, 0):
            student_infos[new_id]['name'] = new_name
            student_infos[new_id]['sex'] = new_sex
            student_infos[new_id]['phone'] = new_phone
            print("修改成功")
    else:
        print("该学生不存在")

# 显示所有学生的信息
def show_info():
    print("*"*30)
    print("学生信息如下:")
    print("*"*30)
    print("学号\t姓名\t性别\t手机号码\t")
    for id in student_infos.keys():
        print("%s\t%s\t%s\t%s\t" % (
            id, student_infos[id]['name'], student_infos[id]['sex'], student_infos[id]['phone']))

# 保存数据
def save_to_file():
   file=open("student_info.txt","a+",encoding="utf-8")
   file.write(str(student_infos))
   file.close()

# main 函数,控制流程
def main():
    while True:
        print_menu()  # 打印菜单
        key = input("请输入功能对应的数字:")
        if key == '1':  # 添加学生信息
            add_info()
        elif key == '2':  # 删除学生信息
            del_info()
        elif key == '3':  # 修改学生信息
            modify_info()
        elif key == '4':  # 查看所有学生信息
            show_info()
        elif key == '5':  # 保存数据
            save_to_file()
        elif key == '0':  # 退出系统
            quit_info = input("确定要退出吗?(Y/N):")
            if quit_info.upper() == 'Y':
                break  # 结束循环
            else:
                print("输入错误,请重新输入")


# 启动系统
main()

在这里插入图片描述
在这里插入图片描述

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

无知的小菜鸡

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

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

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

打赏作者

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

抵扣说明:

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

余额充值