day12学生管理系统

stus_information = []
# 学生信息
nextstu_id = 1
 # 下一个学生的学号
def add_stu():
     """ :return: 添加的学生的信息
     """
     global nextstu_id
     global stus_information
     name = input("请输入姓名:")
     age = input("请输入年龄:")
     phone = input("请输入电话:")
     password = input("请输入登陆密码")
     if password == "":



        if name == "":
            print("增加失败")
            return
            # 名字为空则增加失败
            str_id = "python1807" + str(nextstu_id).rjust(3, "0")
            dict1 = {"name": name, "age": age, "phone": phone, \
                     "student_id": str_id, "password": password}
            print(dict1)
            print("学号为:" + str_id)
            nextstu_id += 1
            stus_information.append(dict1)
            print("增加成功")
            return dict1
def find_stu(student_name: str):
     """
     :param student_name: 名字
     :return: 查找的学生
     """
     global stus_information
     for n in stus_information:
         num = 0
         list2 = []
         if n["name"] == student_name:
             list2.append(n)
             # 得到查找的学生
             print(num, n)
             num += 1
     if num == 0:
         print("没有该学生")
     return list2
def del_stu(student: dict):
     """
     :param student:要删除的学生

     """
     global stus_information
     #在本系统中输入的一定是存在的学生,

     stus_information.remove(student)
     print("删除成功")
def change_stu(student: dict):
     """
     :param student: 要修改的学生

     """
     global stus_information
     key1 = input("请输入要修改的信息")
     if key1 not in student.keys():
         print("输入信息有误,修改失败!!!")
         # elif key1 == "student_id":
         #  print("不能修改学号!!!")
         #  elif key1 == "name":
         #  value1 = input("请输入修改后的值")
     else:
         value1 = input("请输入修改后的值")
         for s in stus_information:
             if s == student:
                 s[key1] = value1
                 print(s)
                 print("修改成功")
def print_operation(s: str):
     """
     :param s:操作及其编号

     """
     num = num_interface - 5 - (len(s) - 1) + 10
     print("║" + " " * 5 + s.ljust(num) + " ║")

num_interface = 20
# 界面长度
start_interface = "╔" + "欢迎来到学生管理系统".center(num_interface, "-") + "╗"
end_interface = "╚" + "请输入执行的操作编号".center(num_interface, "-") + "╝"
# 登陆界面
def land_interface():
    """
    :return: 操作编号

     """
    print(start_interface)
    print_operation("1.学生登陆")

    print_operation("2.管理员登陆")

    print_operation("3.注册")
    # 加入一个新学生
    print_operation("4.退出系统")
    print(end_interface)
    operation_num = input()
    return operation_num
    # 返回界面
def bank_interface():
    print(start_interface)
    print_operation("1.再次操作")
    print_operation("2.返回上一层")
    print(end_interface)
    return int(input())
    # 修改界面
def chang_intetface():
    print(start_interface)
    print_operation("1.修改信息")
    print_operation("2.返回上一层")
    print(end_interface)
    return input()
    # 管理员界面
def manage_interface():
    print(start_interface)
    print_operation("1.增加学生")
    print_operation("2.查找学生")
    print_operation("3.删除学生")
    print_operation("4.显示所有学生")
    print_operation("5.修改学生信息")
    print_operation("6.返回上一层")
    print(end_interface)
    return input()
    # 学生管理系统
while 1:
    operation_num = land_interface()
    # 登陆界面
    while 1: # 学生登陆
        if operation_num == "1":
            my_id = input("请输入学号:")
            my_password = input("请输入密码:")
            for s in stus_information:
                if s["student_id"] == my_id and s["password"] == my_password:
                   print(s)
                   break
                   # 密码错误时
            else: print("密码或学号错误!!!")
            operation_num1 = bank_interface()
            if operation_num1 != "1":
                # 除1以外任意输入返回上一层
                break

            else:
                 continue
        # 密码正确时
        operation_num1 = chang_intetface()
        # 修改学生信息
        if operation_num1 == "1":
            while 1:
        # 循环可以多次修改信息
             change_stu(s)
             operation_num11 = bank_interface()
             if operation_num11 != "1":
                 break
        break # 回到主界面
        
    #脑仁疼,不会写
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容