参考案例来源: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()

python会员管理系统项目背景 python 系统管理_python会员管理系统项目背景


python会员管理系统项目背景 python 系统管理_python会员管理系统项目背景_02