zoukankan      html  css  js  c++  java
  • Python实现学生系统

    # 4. 修改之前的学生信息管理程序,实现添加菜单和选择菜单操作功能:
    #    菜单:
    #      +-----------------------------+
    #      |  1) 添加学生信息              |
    #      |  2) 查看所有学生信息          |
    #      |  3) 修改学生的成绩            |
    #      |  4) 删除学生信息              |
    #      |  q) 退出                     |
    #      +-----------------------------+
    #    请选择: 1
    #      请输入姓名:....
    #    请选择: 3
    #      请输入修改学生的姓名: ....
    #   (要求每个功能都对应一个函数)
    
    
    def input_student():
        # 此函数获取学生信息,并返回学生信息的字典的列表
        L = []
        # d = {}  # 此处所有学生将共用一个字典,会出错
        while True:
            name = input("请输入学生姓名: ")
            if not name:
                break
            age = int(input("请输入学生年龄: "))
            score = int(input("请输入学生成绩: "))
            d = {}  # 重新创建一个新的字典
            d['name'] = name
            d['age'] = age
            d['score'] = score
            L.append(d)
        return L
    
    
    def output_student(L):
        # 以表格形式再打印学生信息
        print('+------------+------+-------+')
        print('|   name     | age  | score |')
        print('+------------+------+-------+')
        for d in L:  # d绑定的是字典
            t = (d['name'].center(12),
                 str(d['age']).center(6),
                 str(d['score']).center(7))
            line = "|%s|%s|%s|" % t  # t是元组
            print(line)
        print('+------------+------+-------+')
    
    # 写一个打印菜单的函数
    def show_menu():
        print('+-----------------------------+')
        print('|  1) 添加学生信息            |')
        print('|  2) 查看所有学生信息        |')
        print('|  3) 修改学生的成绩          |')
        print('|  4) 删除学生信息            |')
        print('|  q) 退出                    |')
        print('+-----------------------------+')
    
    # 此函数用来存改学生的信息
    def modify_student_info(lst):
        name = input("请输入要修改学生的姓名: ")
        for d in lst:
            if d['name'] == name:
                score = int(input("请输入新的成绩: "))
                d['score'] = score
                print("修改", name, '的成绩为', score)
                return
        else:
            print("没有找到名为:", name, '的学生信息')
    
    # 定义一个删除学生信息的函数
    def delete_student_info(lst):
        name = input("请输入要删除学生的姓名: ")
        for i in range(len(lst)):  # 从0开始把所有索引取出一遍
            if lst[i]['name'] == name:
                del lst[i]
                print("已成功删除: ", name)
                return True
        else:
            print("没有找到名为:", name, "的学生")
    
    # 定义一个主函数,用来获取键盘操作,实现选择的功能
    def main():
        docs = []  # 此列表用来存储所有学生的信息的字典
        while True:
            show_menu()
            s = input("请选择: ")
            if s == '1':
                docs += input_student()
            elif s == '2':
                output_student(docs)
            elif s == '3':  # 修改学生成绩
                modify_student_info(docs)
            elif s == '4':  # 删除学生成绩
                delete_student_info(docs)
            elif s == 'q':
                return  # 结束此函数执行,直接退出
    
    
    main()
     
    
    总结一下思路:学生的所有信息都是输入进变量里,然后将变量指向字典对应键的值,由此单个学生的信息都存入字典中,再将这些字典存在列表中,遍历列表遍历学生信息
    我是kelly-凯莉 每天努力一点点,幸运就多一点点
  • 相关阅读:
    vue-quill-editor的自定义设置字数长度方法和显示剩余数字
    element-ui表格show-overflow-tooltip="true",鼠标移上去显示的宽度设置
    vue + elementui表单重置 resetFields问题(无法重置表单)
    element ui表单验证,validate与resetFields的使用你知道哪些
    前端下载文件(GET、POST方法)
    vue中使用elementui里的table时,需求是前面的勾选框根据条件判断是否可以勾选设置
    流体力学笔记 第一章 向量场的概念及运算
    Gersgorin定理
    奇异值分解的证明和直观理解
    2020机器学习学习笔记
  • 原文地址:https://www.cnblogs.com/kelly11/p/12101733.html
Copyright © 2011-2022 走看看